Richiede l'autorizzazione
Consente di aggiornare un abbonamento esistente. Vedi un esempio.
Richiesta
Richiesta HTTP
PUT https://www.googleapis.com/mirror/v1/subscriptions/id
Parametri
Nome del parametro | Valore | Descrizione |
---|---|---|
Parametri percorso | ||
id |
string |
L'ID dell'abbonamento. |
Autorizzazione
Questa richiesta richiede l'autorizzazione con il seguente ambito (scopri di più su autenticazione e autorizzazione).
Ambito |
---|
https://www.googleapis.com/auth/glass.timeline |
Corpo della richiesta
Nel corpo della richiesta, fornisci una risorsa sottoscrizioni con le seguenti proprietà:
Nome proprietà | Valore | Descrizione | Note |
---|---|---|---|
Proprietà obbligatorie | |||
callbackUrl |
string |
L'URL a cui devono essere inviate le notifiche (deve iniziare con https:// ). |
accessibile in scrittura |
collection |
string |
La raccolta a cui iscriverti. I valori consentiti sono:
|
accessibile in scrittura |
Proprietà facoltative | |||
operation[] |
list |
Un elenco di operazioni a cui è necessario sottoscrivere un abbonamento. Un elenco vuoto indica che tutte le operazioni sulla raccolta devono essere sottoscritte. I valori consentiti sono:
|
accessibile in scrittura |
userToken |
string |
Un token opaco inviato all'abbonato nelle notifiche in modo da poter determinare l'ID dell'utente. | accessibile in scrittura |
verifyToken |
string |
Un token segreto inviato all'abbonato nelle notifiche, in modo che possa verificare che la notifica sia stata generata da Google. | accessibile in scrittura |
Risposta
In caso di esito positivo, questo metodo restituisce una risorsa Abbonamenti nel corpo della risposta.
Esempi
Nota: gli esempi di codice disponibili per questo metodo non rappresentano tutti i linguaggi di programmazione supportati (consulta la pagina relativa alle librerie client per un elenco dei linguaggi supportati).
Java
Utilizza la libreria client 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
Utilizza la libreria client.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
Utilizza la libreria client 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
Utilizza la libreria client 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
Ruby
Utilizza la libreria client 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
Utilizza la libreria client 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 non elaborato
Non utilizza una libreria client.
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" }