Requiere autorización.
Actualiza una suscripción existente. Ve un ejemplo.
Solicitud
Solicitud HTTP
PUT https://www.googleapis.com/mirror/v1/subscriptions/id
Parámetros
Nombre del parámetro | Valor | Descripción |
---|---|---|
Parámetros de ruta de acceso | ||
id |
string |
El ID de la suscripción. |
Autorización
Esta solicitud requiere autorización con el siguiente alcance (obtén más información sobre la autenticación y la autorización).
Alcance |
---|
https://www.googleapis.com/auth/glass.timeline |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporciona un recurso de suscripciones con las siguientes propiedades:
Nombre de la propiedad | Valor | Descripción | Notas |
---|---|---|---|
Propiedades obligatorias | |||
callbackUrl |
string |
Es la URL en la que se deben entregar las notificaciones (debe comenzar con https:// ). |
admite escritura |
collection |
string |
La colección a la que te suscribiste. Los valores permitidos son los siguientes:
|
admite escritura |
Propiedades opcionales | |||
operation[] |
list |
Una lista de operaciones a las que se debe suscribir. Una lista vacía indica que todas las operaciones de la colección deben estar suscritas. Los valores permitidos son los siguientes:
|
admite escritura |
userToken |
string |
Un token opaco que se envía al suscriptor en las notificaciones para que pueda determinar el ID del usuario. | admite escritura |
verifyToken |
string |
Un token secreto que se envía al suscriptor en las notificaciones para que pueda verificar que Google generó la notificación. | admite escritura |
Respuesta
Si se aplica correctamente, este método muestra un recurso de suscripciones en el cuerpo de la respuesta.
Ejemplos
Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).
Java
Usa la biblioteca cliente Java.
import com.google.api.services.mirror.Mirror; import com.google.api.services.mirror.model.Subscription; import java.io.IOException; import java.util.List; public class MyClass { // ... /** * Update an existing subscription for the current user. * * @param service Authorized Mirror service. * @param collection Collection to subscribe to (supported values are "timeline" and * "locations"). * @param newUserToken Opaque token used by the Glassware to identify the user * the notification pings are sent for (recommended). * @param newVerifyToken Opaque token used by the Glassware to verify that the * notification pings are sent by the API (optional). * @param newCallbackUrl URL receiving notification pings (must be HTTPS). * @param newOperation List of operations to subscribe to. Valid values are * "UPDATE", "INSERT" and "DELETE" or {@code null} to subscribe to all. */ public static void updateSubscription(Mirror service, String collection, String newUserToken, String newVerifyToken, String newCallbackUrl, List<String> newOperation) { Subscription subscription = new Subscription(); subscription.setCollection(collection).setUserToken(newUserToken) .setVerifyToken(newVerifyToken).setCallbackUrl(newCallbackUrl).setOperation(newOperation); try { service.subscriptions().update(collection, subscription).execute(); } catch (IOException e) { System.err.println("An error occurred: " + e); } } // ... }
.NET
Utiliza la biblioteca cliente.NET.
using System; using System.Collections.Generic; using Google.Apis.Mirror.v1; using Google.Apis.Mirror.v1.Data; public class MyClass { // ... /// <summary> /// Update an existing subscription for the current user. /// </summary> /// <param name='service'>Authorized Mirror service.</param> /// <param name='collection'> /// Collection to subscribe to (supported values are "timeline" and /// "locations"). /// </param> /// <param name='newUserToken'> /// Opaque token used by the Glassware to identify the user the /// notification pings are sent for (recommended). /// </param> /// <param name='newVerifyToken'> /// Opaque token used by the Glassware to verify that the notification /// pings are sent by the API (optional). /// </param> /// <param name='newCallbackUrl'> /// URL receiving notification pings (must be HTTPS). /// </param> /// <param name='newOperation'> /// List of operations to subscribe to. Valid values are "UPDATE", "INSERT" /// and "DELETE" or {@code null} to subscribe to all. /// </param> public static void updateSubscription(MirrorService service, String collection, String newUserToken, String newVerifyToken, String newCallbackUrl, List<String> newOperation) { Subscription subscription = new Subscription() { Collection = collection, UserToken = newUserToken, VerifyToken = newVerifyToken, CallbackUrl = newCallbackUrl, Operation = newOperation }; try { service.Subscriptions.Update(subscription, collection).Fetch(); } catch (Exception e) { Console.WriteLine("An error occurred: " + e.Message); } } // ... }
PHP
Utiliza la biblioteca cliente de PHP.
/** * Update an existing subscription for the current user. * * @param Google_MirrorService $service Authorized Mirror service. * @param string $collection Collection to subscribe to (supported * values are "timeline" and "locations"). * @param string $newUserToken Opaque token used by the Service to * identify the user the notification pings * are sent for (recommended). * @param string $newVerifyToken Opaque token used by the Service to verify * that the notification pings are sent by * the API (optional). * @param string $newCallbackUrl URL receiving notification pings * (must be HTTPS). * @param Array $newOperation List of operations to subscribe to. Valid values * are "UPDATE", "INSERT" and "DELETE" or * null to subscribe to all. */ function subscribeToNotifications($service, $collection, $newUserToken, $newVerifyToken, $newCallbackUrl, $newOperation) { try { $subscription = new Google_Subscription(); $subscription->setCollection($collection); $subscription->setUserToken($newUserToken); $subscription->setVerifyToken($newVerifyToken); $subscription->setCallbackUrl($newCallbackUrl); $subscription->setOperation($onewOeration); $service->subscriptions->update($collection, $subscription); } catch (Exception $e) { print 'An error occurred: ' . $e->getMessage(); } }
Python
Utiliza la biblioteca cliente Python.
from apiclient import errors # ... def update_subscription(service, collection, new_user_token, new_verify_token, new_callback_url, new_operation): """Update an existing subscription for the current user. Args: service: Authorized Mirror service. collection: Collection to subscribe to (supported values are "timeline" and "locations"). new_user_token: Opaque token used by the Glassware to identify the user the notification pings are sent for (recommended). new_verify_token: Opaque token used by the Glassware to verify that the notification pings are sent by the API (optional). new_callback_url: URL receiving notification pings (must be HTTPS). new_operation: List of operations to subscribe to. Valid values are "UPDATE", "INSERT" and "DELETE" or None to subscribe to all. """ subscription = { 'collection': collection, 'userToken': new_user_token, 'verifyToken': new_verify_token, 'callbackUrl': new_callback_url, 'operation': new_operation } try: service.subscriptions().update(id=collection, body=subscription).execute() except errors.HttpError, error: print 'An error occurred: %s' % e
Rita
Utiliza la biblioteca cliente de Ruby.
## # Update an existing subscription for the current user. # # @param [Google::APIClient] client # Authorized client instance. # @param [String] collection # Collection to subscribe to (supported values are "timeline" and "locations"). # @param [String] new_user_token # Opaque token used by the Glassware to identify the user the notification # pings are sent for (recommended). # @param [String] verify_token # Opaque token used by the Glassware to verify that the notification pings are # sent by the API (optional). # @param [String] new_callback_url # URL receiving notification pings (must be HTTPS). # @param [Array] new_operation # List of operations to subscribe to. Valid values are "UPDATE", "INSERT" and # "DELETE" or nil to subscribe to all. # @return nil def update_subscription(client, collection, new_user_token, new_verify_token, new_callback_url, new_operation) mirror = client.discovered_api('mirror', 'v1') subscription = mirror.subscriptions.update.request_schema.new({ 'collection' => collection, 'userToken' => new_user_token, 'verifyToken' => new_verify_token, 'callbackUrl' => new_callback_url, 'operation' => new_operation}) result = client.execute( :api_method => mirror.subscriptions.update, :body_object => subscription, :parameters => { 'id' => collection }) if result.error? puts "An error occurred: #{result.data['error']['message']}" end end
Go
Usa la biblioteca cliente de Go.
import ( "code.google.com/p/google-api-go-client/mirror/v1" "fmt" ) // UpdateSubscription updates an existing subscription for the current user func UpdateSubscription(g *mirror.Service, collection string, newUserToken string, newVerifyToken string, newCallbackUrl string, operations []string) (*mirror.Subscription, error) { s := &mirror.Subscription{ Collection: collection, UserToken: newUserToken, VerifyToken: newVerifyToken, CallbackUrl: newCallbackUrl, } r, err := g.Subscriptions.Update(collection, s).Do() if err != nil { fmt.Printf("An error occurred: %v\n", err) return nil, err } return r, nil }
HTTP sin procesar
No utiliza una biblioteca cliente.
PUT /mirror/v1/subscriptions/timeline HTTP/1.1 Authorization: Bearer auth token Content-Type: application/json Content-Length: length { "collection": "timeline" "userToken": "harold_penguin", "callbackUrl": "https://example.com/notify/callback" }