認証が必要です
新しいサブスクリプションを作成します。例を見る。
リクエスト
HTTP リクエスト
POST https://www.googleapis.com/mirror/v1/subscriptions
認可
このリクエストは、次のスコープでの承認が必要です(認証と承認の詳細をご確認ください)。
スコープ |
---|
https://www.googleapis.com/auth/glass.timeline |
リクエスト本文
リクエストの本文には、以下のプロパティを使用して Subscriptions リソースを指定します。
プロパティ名 | 価値 | 説明 | メモ |
---|---|---|---|
必須プロパティ | |||
callbackUrl |
string |
通知の配信先の URL(https:// で始まる必要があります)。 |
書き込み可能 |
collection |
string |
登録するコレクション。使用できる値:
|
書き込み可能 |
省略可能なプロパティ | |||
operation[] |
list |
登録すべきオペレーションのリスト。空のリストは、コレクションに対するすべてのオペレーションをサブスクライブする必要があることを示します。使用できる値:
|
書き込み可能 |
userToken |
string |
ユーザーの ID を判断できるように、通知で定期購入者に送信される不透明なトークン。 | 書き込み可能 |
verifyToken |
string |
通知が Google によって生成されたものであることを確認できるように、通知で購読者に送信されるシークレット トークン。 | 書き込み可能 |
レスポンス
成功すると、このメソッドはレスポンスの本文で Subscriptions リソースを返します。
例
注: このメソッドで使用可能なコード例では、サポートされているプログラミング言語すべての例を示しているわけではありません(サポートされている言語の一覧については、クライアント ライブラリ ページをご覧ください)。
Java
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 { // ... /** * Subscribe to notifications for the current user. * * @param service Authorized Mirror service. * @param collection Collection to subscribe to (supported values are "timeline" and "locations"). * @param userToken Opaque token used by the Glassware to identify the user * the notification pings are sent for (recommended). * @param verifyToken Opaque token used by the Glassware to verify that the * notification pings are sent by the API (optional). * @param callbackUrl URL receiving notification pings (must be HTTPS). * @param operation List of operations to subscribe to. Valid values are * "UPDATE", "INSERT" and "DELETE" or {@code null} to subscribe to all. */ public static void subscribeToNotifications(Mirror service, String collection, String userToken, String verifyToken, String callbackUrl, List<String> operation) { Subscription subscription = new Subscription(); subscription.setCollection(collection).setUserToken(userToken).setVerifyToken(verifyToken) .setCallbackUrl(callbackUrl).setOperation(operation); try { service.subscriptions().insert(subscription).execute(); } catch (IOException e) { System.err.println("An error occurred: " + e); } } // ... }
.NET
.NET クライアント ライブラリを使用します。
using System; using System.Collections.Generic; using Google.Apis.Mirror.v1; using Google.Apis.Mirror.v1.Data; public class MyClass { // ... /// <summary> /// Subscribe to notifications 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='userToken'> /// Opaque token used by the Glassware to identify the user the /// notification pings are sent for (recommended). /// </param> /// <param name='verifyToken'> /// Opaque token used by the Glassware to verify that the notification /// pings are sent by the API (optional). /// </param> /// <param name='callbackUrl'> /// URL receiving notification pings (must be HTTPS). /// </param> /// <param name='operation'> /// List of operations to subscribe to. Valid values are "UPDATE", "INSERT" /// and "DELETE" or {@code null} to subscribe to all. /// </param> public static void SubscribeToNotifications(MirrorService service, String collection, String userToken, String verifyToken, String callbackUrl, List<String> operation) { Subscription subscription = new Subscription() { Collection = collection, UserToken = userToken, VerifyToken = verifyToken, CallbackUrl = callbackUrl, Operation = operation }; try { service.Subscriptions.Insert(subscription).Fetch(); } catch (Exception e) { Console.WriteLine("An error occurred: " + e.Message); } } // ... }
PHP
PHP クライアント ライブラリを使用します。
/** * Subscribe to notifications 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 $userToken Opaque token used by the Service to * identify the user the notification pings * are sent for (recommended). * @param string $verifyToken Opaque token used by the Service to verify * that the notification pings are sent by * the API (optional). * @param string $callbackUrl URL receiving notification pings (must be HTTPS). * @param Array $operation List of operations to subscribe to. Valid values * are "UPDATE", "INSERT" and "DELETE" or * null to subscribe to all. */ function subscribeToNotifications($service, $collection, $userToken, $verifyToken, $callbackUrl, $operation) { try { $subscription = new Google_Subscription(); $subscription->setCollection($collection); $subscription->setUserToken($userToken); $subscription->setVerifyToken($verifyToken); $subscription->setCallbackUrl($callbackUrl); $subscription->setOperation($operation); $service->subscriptions->insert($subscription); } catch (Exception $e) { print 'An error occurred: ' . $e->getMessage(); } }
Python
Python クライアント ライブラリを使用します。
from apiclient import errors # ... def subscribe_to_notifications(service, collection, user_token, verify_token, callback_url, operation): """Subscribe to notifications for the current user. Args: service: Authorized Mirror service. collection: Collection to subscribe to (supported values are "timeline" and "locations"). user_token: Opaque token used by the Glassware to identify the user the notification pings are sent for (recommended). verify_token: Opaque token used by the Glassware to verify that the notification pings are sent by the API (optional). callback_url: URL receiving notification pings (must be HTTPS). operation: List of operations to subscribe to. Valid values are "UPDATE", "INSERT" and "DELETE" or None to subscribe to all. """ subscription = { 'collection': collection, 'userToken': user_token, 'verifyToken': verify_token, 'callbackUrl': callback_url, 'operation': operation } try: service.subscriptions().insert(body=subscription).execute() except errors.HttpError, error: print 'An error occurred: %s' % e
Ruby
Ruby クライアント ライブラリを使用します。
## # Subscribe to notifications 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] 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] callback_url # URL receiving notification pings (must be HTTPS). # @param [Array] operation # List of operations to subscribe to. Valid values are "UPDATE", "INSERT" and # "DELETE" or nil to subscribe to all. # @return nil def subscribe_to_notification(client, collection, user_token, verify_token, callback_url, operation) mirror = client.discovered_api('mirror', 'v1') subscription = mirror.subscriptions.insert.request_schema.new({ 'collection' => collection, 'userToken' => user_token, 'verifyToken' => verify_token, 'callbackUrl' => callback_url, 'operation' => operation}) result = client.execute( :api_method => mirror.subscriptions.insert, :body_object => subscription) if result.error? puts "An error occurred: #{result.data['error']['message']}" end end
Go
Go クライアント ライブラリを使用します。
import ( "code.google.com/p/google-api-go-client/mirror/v1" "fmt" ) // SubscribeToNotifications subscribes to notifications for the current user. func SubscribeToNotifications(g *mirror.Service, collection string, userToken string, verifyToken string, callbackUrl string, operations []string) (*mirror.Subscription, error) { s := &mirror.Subscription{ Collection: collection, UserToken: userToken, VerifyToken: verifyToken, CallbackUrl: callbackUrl, } r, err := g.Subscriptions.Insert(s).Do() if err != nil { fmt.Printf("An error occurred: %v\n", err) return nil, err } return r, nil }
未加工の HTTP
クライアント ライブラリは使用しません。
POST /mirror/v1/subscriptions HTTP/1.1 Authorization: Bearer auth token Content-Type: application/json Content-Length: length { "collection": "timeline" "userToken": "harold_penguin", "operation": ["UPDATE"], "callbackUrl": "https://example.com/notify/callback" }