Class DataSubscriptionServiceGrpc.DataSubscriptionServiceBlockingV2Stub (0.2.0)

public static final class DataSubscriptionServiceGrpc.DataSubscriptionServiceBlockingV2Stub extends AbstractBlockingStub<DataSubscriptionServiceGrpc.DataSubscriptionServiceBlockingV2Stub>

A stub to allow clients to do synchronous rpc calls to service DataSubscriptionService.

Data Subscription Service that allows clients (e.g., Fitbit 3P applications, internal Fitbit Services) to manage their subscriber endpoints. This service provides CRUD APIs for subscribers, and also offers functionalities for subscriber verification and statistics.

Inheritance

java.lang.Object > io.grpc.stub.AbstractStub > io.grpc.stub.AbstractBlockingStub > DataSubscriptionServiceGrpc.DataSubscriptionServiceBlockingV2Stub

Methods

build(Channel channel, CallOptions callOptions)

protected DataSubscriptionServiceGrpc.DataSubscriptionServiceBlockingV2Stub build(Channel channel, CallOptions callOptions)
Parameters
Name Description
channel io.grpc.Channel
callOptions io.grpc.CallOptions
Returns
Type Description
DataSubscriptionServiceGrpc.DataSubscriptionServiceBlockingV2Stub
Overrides
io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)

createSubscriber(CreateSubscriberRequest request)

public Operation createSubscriber(CreateSubscriberRequest request)

Registers a new subscriber endpoint to receive notifications. A subscriber represents an application or service that wishes to receive data change notifications for users who have granted consent. Endpoint Verification: For a subscriber to be successfully created, the provided endpoint_uri must be a valid HTTPS endpoint and must pass an automated verification check. The backend will send two HTTP POST requests to the endpoint_uri:

  1. Verification with Authorization:
    • Headers: Includes Content-Type: application/json and Authorization (with the exact value from CreateSubscriberPayload.endpoint_authorization.secret).
    • Body: {"type": "verification"}
    • Expected Response: HTTP 201 Created.
  2. Verification without Authorization:
    • Headers: Includes Content-Type: application/json. The Authorization header is OMITTED.
    • Body: {"type": "verification"}
    • Expected Response: HTTP 401 Unauthorized or 403 Forbidden. Both tests must pass for the subscriber creation to succeed. If verification fails, the operation will not be completed and an error will be returned. This process ensures the endpoint is reachable and correctly validates the Authorization header.
Parameter
Name Description
request CreateSubscriberRequest
Returns
Type Description
Operation
Exceptions
Type Description
io.grpc.StatusException

createSubscription(CreateSubscriptionRequest request)

public Subscription createSubscription(CreateSubscriptionRequest request)

Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a SubscriptionCreatePolicy set to MANUAL for the given data types.

Parameter
Name Description
request CreateSubscriptionRequest
Returns
Type Description
Subscription
Exceptions
Type Description
io.grpc.StatusException

deleteSubscriber(DeleteSubscriberRequest request)

public Operation deleteSubscriber(DeleteSubscriberRequest request)

Deletes a subscriber registration. This will stop all notifications to the subscriber's endpoint.

Parameter
Name Description
request DeleteSubscriberRequest
Returns
Type Description
Operation
Exceptions
Type Description
io.grpc.StatusException

deleteSubscription(DeleteSubscriptionRequest request)

public Empty deleteSubscription(DeleteSubscriptionRequest request)

Deletes a specific user subscription, stopping notifications for this user to this subscriber.

Parameter
Name Description
request DeleteSubscriptionRequest
Returns
Type Description
Empty
Exceptions
Type Description
io.grpc.StatusException

listSubscribers(ListSubscribersRequest request)

public ListSubscribersResponse listSubscribers(ListSubscribersRequest request)

Lists all subscribers registered within the owned Google Cloud Project.

Parameter
Name Description
request ListSubscribersRequest
Returns
Type Description
ListSubscribersResponse
Exceptions
Type Description
io.grpc.StatusException

listSubscriptions(ListSubscriptionsRequest request)

public ListSubscriptionsResponse listSubscriptions(ListSubscriptionsRequest request)

Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.

Parameter
Name Description
request ListSubscriptionsRequest
Returns
Type Description
ListSubscriptionsResponse
Exceptions
Type Description
io.grpc.StatusException

updateSubscriber(UpdateSubscriberRequest request)

public Operation updateSubscriber(UpdateSubscriberRequest request)

Updates the configuration of an existing subscriber, such as the endpoint URI or the data types it's interested in. Endpoint Verification: If the endpoint_uri or endpoint_authorization field is included in the update_mask, the backend will re-verify the endpoint. The verification process is the same as described in CreateSubscriber:

  1. Verification with Authorization: POST to the new or existing endpoint_uri with the new or existing Authorization secret. Expects HTTP 201 Created.
  2. Verification without Authorization: POST to the endpoint_uri without the Authorization header. Expects HTTP 401 Unauthorized or 403 Forbidden. Both tests must pass using the potentially updated values for the subscriber update to succeed. If verification fails, the update will not be applied, and an error will be returned.
Parameter
Name Description
request UpdateSubscriberRequest
Returns
Type Description
Operation
Exceptions
Type Description
io.grpc.StatusException

updateSubscription(UpdateSubscriptionRequest request)

public Subscription updateSubscription(UpdateSubscriptionRequest request)

Updates the data types for an existing user subscription.

Parameter
Name Description
request UpdateSubscriptionRequest
Returns
Type Description
Subscription
Exceptions
Type Description
io.grpc.StatusException