승인 필요
새 구독을 만듭니다. 예를 참조하세요.
요청
HTTP 요청
POST https://www.googleapis.com/mirror/v1/subscriptions
승인
이 요청을 처리하려면 다음 범위의 승인이 필요합니다 (인증 및 승인 자세히 알아보기).
| 범위 |
|---|
https://www.googleapis.com/auth/glass.timeline |
요청 본문
요청 본문에 다음 속성이 지정된 Subscriptions 리소스를 제공합니다.
| 속성 이름 | 값 | 설명 | Notes |
|---|---|---|---|
| 필수 속성 | |||
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);
}
}
// ...
}
2,399필리핀
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
루비
##
# 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" }