Subscriptions: update

অনুমোদন প্রয়োজন

জায়গায় একটি বিদ্যমান সদস্যতা আপডেট. একটি উদাহরণ দেখুন

অনুরোধ

HTTP অনুরোধ

PUT https://www.googleapis.com/mirror/v1/subscriptions/id

পরামিতি

পরামিতি নাম মান বর্ণনা
পাথ প্যারামিটার
id string সাবস্ক্রিপশনের আইডি।

অনুমোদন

এই অনুরোধের জন্য নিম্নলিখিত সুযোগের সাথে অনুমোদনের প্রয়োজন ( প্রমাণিকরণ এবং অনুমোদন সম্পর্কে আরও পড়ুন )।

ব্যাপ্তি
https://www.googleapis.com/auth/glass.timeline

শরীরের অনুরোধ

অনুরোধের অংশে, নিম্নলিখিত বৈশিষ্ট্য সহ একটি সদস্যতা সংস্থান সরবরাহ করুন:

সম্পত্তির নাম মান বর্ণনা নোট
প্রয়োজনীয় বৈশিষ্ট্য
callbackUrl string URL যেখানে বিজ্ঞপ্তিগুলি বিতরণ করা উচিত ( https:// দিয়ে শুরু করতে হবে)। লিখনযোগ্য
collection string সদস্যতা নিতে সংগ্রহ. অনুমোদিত মান হল:
  • timeline - সন্নিবেশ, মুছে ফেলা এবং আপডেট সহ টাইমলাইনে পরিবর্তন।
  • locations - অবস্থান আপডেট।
  • settings - সেটিংস আপডেট।
লিখনযোগ্য
ঐচ্ছিক বৈশিষ্ট্য
operation[] list ক্রিয়াকলাপগুলির একটি তালিকা যা সদস্যতা নিতে হবে৷ একটি খালি তালিকা নির্দেশ করে যে সংগ্রহের সমস্ত ক্রিয়াকলাপের সদস্যতা নেওয়া উচিত৷ অনুমোদিত মান হল:
  • UPDATE - আইটেম আপডেট করা হয়েছে.
  • INSERT - একটি নতুন আইটেম সন্নিবেশ করা হয়েছে৷
  • DELETE - আইটেমটি মুছে ফেলা হয়েছে।
লিখনযোগ্য
userToken string একটি অস্বচ্ছ টোকেন গ্রাহককে বিজ্ঞপ্তিতে পাঠানো হয়েছে যাতে এটি ব্যবহারকারীর আইডি নির্ধারণ করতে পারে। লিখনযোগ্য
verifyToken string বিজ্ঞপ্তিতে গ্রাহককে পাঠানো একটি গোপন টোকেন যাতে এটি যাচাই করতে পারে যে বিজ্ঞপ্তিটি Google তৈরি করেছে। লিখনযোগ্য

প্রতিক্রিয়া

সফল হলে, এই পদ্ধতিটি প্রতিক্রিয়া বডিতে একটি সাবস্ক্রিপশন রিসোর্স ফেরত দেয়।

উদাহরণ

দ্রষ্টব্য: এই পদ্ধতির জন্য উপলব্ধ কোড উদাহরণগুলি সমস্ত সমর্থিত প্রোগ্রামিং ভাষার প্রতিনিধিত্ব করে না (সমর্থিত ভাষার তালিকার জন্য ক্লায়েন্ট লাইব্রেরি পৃষ্ঠা দেখুন)।

জাভা

জাভা ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

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 ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

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);
    }
  }

  // ...
}

পিএইচপি

পিএইচপি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

/**
 * 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();
  }
}

পাইথন

পাইথন ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

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

রুবি

রুবি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

##
# 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 ক্লায়েন্ট লাইব্রেরি ব্যবহার করে।

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

একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে না।

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"
}