<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="proximitybeacon_v1beta1.html">Google Proximity Beacon API</a> . <a href="proximitybeacon_v1beta1.beacons.html">beacons</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="proximitybeacon_v1beta1.beacons.attachments.html">attachments()</a></code>
</p>
<p class="firstline">Returns the attachments Resource.</p>
<p class="toc_element">
<code><a href="proximitybeacon_v1beta1.beacons.diagnostics.html">diagnostics()</a></code>
</p>
<p class="firstline">Returns the diagnostics Resource.</p>
<p class="toc_element">
<code><a href="#activate">activate(beaconName, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Activates a beacon. A beacon that is active will return information</p>
<p class="toc_element">
<code><a href="#deactivate">deactivate(beaconName, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Deactivates a beacon. Once deactivated, the API will not return</p>
<p class="toc_element">
<code><a href="#decommission">decommission(beaconName, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Decommissions the specified beacon in the service. This beacon will no</p>
<p class="toc_element">
<code><a href="#delete">delete(beaconName, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes the specified beacon including all diagnostics data for the beacon</p>
<p class="toc_element">
<code><a href="#get">get(beaconName, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns detailed information about the specified beacon.</p>
<p class="toc_element">
<code><a href="#list">list(pageSize=None, projectId=None, q=None, syntax=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Searches the beacon registry for beacons that match the given search</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#register">register(body, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Registers a previously unregistered beacon given its `advertisedId`.</p>
<p class="toc_element">
<code><a href="#update">update(beaconName, body, projectId=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates the information about the specified beacon. **Any field that you do</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="activate">activate(beaconName, projectId=None, x__xgafv=None)</code>
<pre>Activates a beacon. A beacon that is active will return information
and attachment data when queried via `beaconinfo.getforobserved`.
Calling this method on an already active beacon will do nothing (but
will return a successful response code).
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **Is owner** or **Can edit** permissions in the
Google Developers Console project.
Args:
beaconName: string, Beacon that should be activated. A beacon name has the format
"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
the beacon and N is a code for the beacon's type. Possible values are
`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
for AltBeacon. For Eddystone-EID beacons, you may use either the
current EID or the beacon's "stable" UID.
Required. (required)
projectId: string, The project id of the beacon to activate. If the project id is not
specified then the project making the request is used. The project id
must match the project that owns the beacon.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated
# empty messages in your APIs. A typical example is to use it as the request
# or the response type of an API method. For instance:
#
# service Foo {
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
# }
#
# The JSON representation for `Empty` is empty JSON object `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="deactivate">deactivate(beaconName, projectId=None, x__xgafv=None)</code>
<pre>Deactivates a beacon. Once deactivated, the API will not return
information nor attachment data for the beacon when queried via
`beaconinfo.getforobserved`. Calling this method on an already inactive
beacon will do nothing (but will return a successful response code).
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **Is owner** or **Can edit** permissions in the
Google Developers Console project.
Args:
beaconName: string, Beacon that should be deactivated. A beacon name has the format
"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
the beacon and N is a code for the beacon's type. Possible values are
`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
for AltBeacon. For Eddystone-EID beacons, you may use either the
current EID or the beacon's "stable" UID.
Required. (required)
projectId: string, The project id of the beacon to deactivate. If the project id is not
specified then the project making the request is used. The project id must
match the project that owns the beacon.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated
# empty messages in your APIs. A typical example is to use it as the request
# or the response type of an API method. For instance:
#
# service Foo {
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
# }
#
# The JSON representation for `Empty` is empty JSON object `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="decommission">decommission(beaconName, projectId=None, x__xgafv=None)</code>
<pre>Decommissions the specified beacon in the service. This beacon will no
longer be returned from `beaconinfo.getforobserved`. This operation is
permanent -- you will not be able to re-register a beacon with this ID
again.
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **Is owner** or **Can edit** permissions in the
Google Developers Console project.
Args:
beaconName: string, Beacon that should be decommissioned. A beacon name has the format
"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
the beacon and N is a code for the beacon's type. Possible values are
`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
for AltBeacon. For Eddystone-EID beacons, you may use either the
current EID of the beacon's "stable" UID.
Required. (required)
projectId: string, The project id of the beacon to decommission. If the project id is not
specified then the project making the request is used. The project id
must match the project that owns the beacon.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated
# empty messages in your APIs. A typical example is to use it as the request
# or the response type of an API method. For instance:
#
# service Foo {
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
# }
#
# The JSON representation for `Empty` is empty JSON object `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="delete">delete(beaconName, projectId=None, x__xgafv=None)</code>
<pre>Deletes the specified beacon including all diagnostics data for the beacon
as well as any attachments on the beacon (including those belonging to
other projects). This operation cannot be undone.
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **Is owner** or **Can edit** permissions in the
Google Developers Console project.
Args:
beaconName: string, Beacon that should be deleted. A beacon name has the format
"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
the beacon and N is a code for the beacon's type. Possible values are
`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
for AltBeacon. For Eddystone-EID beacons, you may use either the
current EID or the beacon's "stable" UID.
Required. (required)
projectId: string, The project id of the beacon to delete. If not provided, the project
that is making the request is used.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # A generic empty message that you can re-use to avoid defining duplicated
# empty messages in your APIs. A typical example is to use it as the request
# or the response type of an API method. For instance:
#
# service Foo {
# rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
# }
#
# The JSON representation for `Empty` is empty JSON object `{}`.
}</pre>
</div>
<div class="method">
<code class="details" id="get">get(beaconName, projectId=None, x__xgafv=None)</code>
<pre>Returns detailed information about the specified beacon.
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **viewer**, **Is owner** or **Can edit**
permissions in the Google Developers Console project.
Requests may supply an Eddystone-EID beacon name in the form:
`beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID
broadcast by the beacon. The returned `Beacon` object will contain the
beacon's stable Eddystone-UID. Clients not authorized to resolve the
beacon's ephemeral Eddystone-EID broadcast will receive an error.
Args:
beaconName: string, Resource name of this beacon. A beacon name has the format
"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
the beacon and N is a code for the beacon's type. Possible values are
`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
for AltBeacon. For Eddystone-EID beacons, you may use either the
current EID or the beacon's "stable" UID.
Required. (required)
projectId: string, The project id of the beacon to request. If the project id is not specified
then the project making the request is used. The project id must match the
project that owns the beacon.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Details of a beacon device.
"status": "A String", # Current status of the beacon.
# Required.
"description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
# characters.
# Optional.
"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
# Google Maps API.
# Optional.
# useful to indicate which floor of a building a beacon is located on.
"name": "A String", # The name of this level.
},
"latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
# This location is given when the beacon is registered or updated. It does
# not necessarily indicate the actual current location of the beacon.
# Optional.
# of doubles representing degrees latitude and degrees longitude. Unless
# specified otherwise, this must conform to the
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. Values must be within normalized ranges.
#
# Example of normalization code in Python:
#
# def NormalizeLongitude(longitude):
# """Wraps decimal degrees longitude to [-180.0, 180.0]."""
# q, r = divmod(longitude, 360.0)
# if r > 180.0 or (r == 180.0 and q <= -1.0):
# return r - 360.0
# return r
#
# def NormalizeLatLng(latitude, longitude):
# """Wraps decimal degrees latitude and longitude to
# [-90.0, 90.0] and [-180.0, 180.0], respectively."""
# r = latitude % 360.0
# if r <= 90.0:
# return r, NormalizeLongitude(longitude)
# elif r >= 270.0:
# return r - 360, NormalizeLongitude(longitude)
# else:
# return 180 - r, NormalizeLongitude(longitude + 180.0)
#
# assert 180.0 == NormalizeLongitude(180.0)
# assert -180.0 == NormalizeLongitude(-180.0)
# assert -179.0 == NormalizeLongitude(181.0)
# assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
# assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
# assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
# assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
# assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
# assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
# assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
# assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
"latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
"longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
"placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
# the beacon is deployed. This is given when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
# (remotely resolved ephemeral ID) format. This information will not be
# populated in API responses. When submitting this data, the `advertised_id`
# field must contain an ID of type Eddystone-UID. Any other ID type will
# result in an error.
# Two ways of securely registering an Eddystone-EID beacon with the service
# are supported:
#
# 1. Perform an ECDH key exchange via this API, including a previous call
# to `GET /v1beta1/eidparams`. In this case the fields
# `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
# populated and `beacon_identity_key` should not be populated. This
# method ensures that only the two parties in the ECDH key exchange can
# compute the identity key, which becomes a secret between them.
# 2. Derive or obtain the beacon's identity key via other secure means
# (perhaps an ECDH key exchange between the beacon and a mobile device
# or any other secure method), and then submit the resulting identity key
# to the service. In this case `beacon_identity_key` field should be
# populated, and neither of `beacon_ecdh_public_key` nor
# `service_ecdh_public_key` fields should be. The security of this method
# depends on how securely the parties involved (in particular the
# bluetooth client) handle the identity key, and obviously on how
# securely the identity key was generated.
#
# See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
"rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
# ephemeral ID. "Nominal" because the beacon should randomize the
# actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
# for details. This value corresponds to a power-of-two scaler on the
# beacon's clock: when the scaler value is K, the beacon will begin
# broadcasting a new ephemeral ID on average every 2^K seconds.
"initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
# begun counting at this value immediately prior to transmitting this
# value to the resolving service. Significant delay in transmitting this
# value to the service risks registration or resolution failures. If a
# value is not provided, the default is zero.
"serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `beacon_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
# `initial_clock_value`, and the secret key generated by the
# Diffie-Hellman key exchange using `service_ecdh_public_key` and
# `service_ecdh_public_key`. This initial EID value will be used by the
# service to confirm that the key exchange process was successful.
"beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `service_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
# `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
# populated.
},
"advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
# populated when registering. It may be empty when updating a beacon
# record because it is ignored in updates.
#
# When registering a beacon that broadcasts Eddystone-EID, this field
# should contain a "stable" Eddystone-UID that identifies the beacon and
# links it to its attachments. The stable Eddystone-UID is only used for
# administering the beacon.
"type": "A String", # Specifies the identifier type.
# Required.
"id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
# [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
# requests, and will be so encoded (with padding) in responses. The base64
# encoding should be of the binary byte-stream and not any textual (such as
# hex) representation thereof.
# Required.
},
"beaconName": "A String", # Resource name of this beacon. A beacon name has the format
# "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
# the beacon and N is a code for the beacon's type. Possible values are
# `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
#
# This field must be left empty when registering. After reading a beacon,
# clients can use the name for future operations.
"expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"properties": { # Properties of the beacon device, for example battery type or firmware
# version.
# Optional.
"a_key": "A String",
},
"provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
# changing any of its configuration (e.g. broadcast frames, transmit power).
# This field provides a place to store and control access to that key.
# This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
# from users with write access to the given beacon. That is to say: If the
# user is authorized to write the beacon's confidential data in the service,
# the service considers them authorized to configure the beacon. Note
# that this key grants nothing on the service, only on the beacon itself.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(pageSize=None, projectId=None, q=None, syntax=None, pageToken=None, x__xgafv=None)</code>
<pre>Searches the beacon registry for beacons that match the given search
criteria. Only those beacons that the client has permission to list
will be returned.
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **viewer**, **Is owner** or **Can edit**
permissions in the Google Developers Console project.
Args:
pageSize: integer, The maximum number of records to return for this request, up to a
server-defined upper limit.
projectId: string, The project id to list beacons under. If not present then the project
credential that made the request is used as the project.
Optional.
q: string, Filter query string that supports the following field filters:
* **description:`"<string>"`**
For example: **description:"Room 3"**
Returns beacons whose description matches tokens in the string "Room 3"
(not necessarily that exact string).
The string must be double-quoted.
* **status:`<enum>`**
For example: **status:active**
Returns beacons whose status matches the given value. Values must be
one of the Beacon.Status enum values (case insensitive). Accepts
multiple filters which will be combined with OR logic.
* **stability:`<enum>`**
For example: **stability:mobile**
Returns beacons whose expected stability matches the given value.
Values must be one of the Beacon.Stability enum values (case
insensitive). Accepts multiple filters which will be combined with
OR logic.
* **place\_id:`"<string>"`**
For example: **place\_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="**
Returns beacons explicitly registered at the given place, expressed as
a Place ID obtained from [Google Places API](/places/place-id). Does not
match places inside the given place. Does not consider the beacon's
actual location (which may be different from its registered place).
Accepts multiple filters that will be combined with OR logic. The place
ID must be double-quoted.
* **registration\_time`[<|>|<=|>=]<integer>`**
For example: **registration\_time>=1433116800**
Returns beacons whose registration time matches the given filter.
Supports the operators: <, >, <=, and >=. Timestamp must be expressed as
an integer number of seconds since midnight January 1, 1970 UTC. Accepts
at most two filters that will be combined with AND logic, to support
"between" semantics. If more than two are supplied, the latter ones are
ignored.
* **lat:`<double> lng:<double> radius:<integer>`**
For example: **lat:51.1232343 lng:-1.093852 radius:1000**
Returns beacons whose registered location is within the given circle.
When any of these fields are given, all are required. Latitude and
longitude must be decimal degrees between -90.0 and 90.0 and between
-180.0 and 180.0 respectively. Radius must be an integer number of
meters between 10 and 1,000,000 (1000 km).
* **property:`"<string>=<string>"`**
For example: **property:"battery-type=CR2032"**
Returns beacons which have a property of the given name and value.
Supports multiple filters which will be combined with OR logic.
The entire name=value string must be double-quoted as one string.
* **attachment\_type:`"<string>"`**
For example: **attachment_type:"my-namespace/my-type"**
Returns beacons having at least one attachment of the given namespaced
type. Supports "any within this namespace" via the partial wildcard
syntax: "my-namespace/*". Supports multiple filters which will be
combined with OR logic. The string must be double-quoted.
* **indoor\_level:`"<string>"`**
For example: **indoor\_level:"1"**
Returns beacons which are located on the given indoor level. Accepts
multiple filters that will be combined with OR logic.
Multiple filters on the same field are combined with OR logic (except
registration_time which is combined with AND logic).
Multiple filters on different fields are combined with AND logic.
Filters should be separated by spaces.
As with any HTTP query string parameter, the whole filter expression must
be URL-encoded.
Example REST request:
`GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`
pageToken: string, A pagination token obtained from a previous request to list beacons.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response that contains list beacon results and pagination help.
"nextPageToken": "A String", # An opaque pagination token that the client may provide in their next
# request to retrieve the next page of results.
"beacons": [ # The beacons that matched the search criteria.
{ # Details of a beacon device.
"status": "A String", # Current status of the beacon.
# Required.
"description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
# characters.
# Optional.
"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
# Google Maps API.
# Optional.
# useful to indicate which floor of a building a beacon is located on.
"name": "A String", # The name of this level.
},
"latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
# This location is given when the beacon is registered or updated. It does
# not necessarily indicate the actual current location of the beacon.
# Optional.
# of doubles representing degrees latitude and degrees longitude. Unless
# specified otherwise, this must conform to the
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. Values must be within normalized ranges.
#
# Example of normalization code in Python:
#
# def NormalizeLongitude(longitude):
# """Wraps decimal degrees longitude to [-180.0, 180.0]."""
# q, r = divmod(longitude, 360.0)
# if r > 180.0 or (r == 180.0 and q <= -1.0):
# return r - 360.0
# return r
#
# def NormalizeLatLng(latitude, longitude):
# """Wraps decimal degrees latitude and longitude to
# [-90.0, 90.0] and [-180.0, 180.0], respectively."""
# r = latitude % 360.0
# if r <= 90.0:
# return r, NormalizeLongitude(longitude)
# elif r >= 270.0:
# return r - 360, NormalizeLongitude(longitude)
# else:
# return 180 - r, NormalizeLongitude(longitude + 180.0)
#
# assert 180.0 == NormalizeLongitude(180.0)
# assert -180.0 == NormalizeLongitude(-180.0)
# assert -179.0 == NormalizeLongitude(181.0)
# assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
# assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
# assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
# assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
# assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
# assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
# assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
# assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
"latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
"longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
"placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
# the beacon is deployed. This is given when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
# (remotely resolved ephemeral ID) format. This information will not be
# populated in API responses. When submitting this data, the `advertised_id`
# field must contain an ID of type Eddystone-UID. Any other ID type will
# result in an error.
# Two ways of securely registering an Eddystone-EID beacon with the service
# are supported:
#
# 1. Perform an ECDH key exchange via this API, including a previous call
# to `GET /v1beta1/eidparams`. In this case the fields
# `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
# populated and `beacon_identity_key` should not be populated. This
# method ensures that only the two parties in the ECDH key exchange can
# compute the identity key, which becomes a secret between them.
# 2. Derive or obtain the beacon's identity key via other secure means
# (perhaps an ECDH key exchange between the beacon and a mobile device
# or any other secure method), and then submit the resulting identity key
# to the service. In this case `beacon_identity_key` field should be
# populated, and neither of `beacon_ecdh_public_key` nor
# `service_ecdh_public_key` fields should be. The security of this method
# depends on how securely the parties involved (in particular the
# bluetooth client) handle the identity key, and obviously on how
# securely the identity key was generated.
#
# See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
"rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
# ephemeral ID. "Nominal" because the beacon should randomize the
# actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
# for details. This value corresponds to a power-of-two scaler on the
# beacon's clock: when the scaler value is K, the beacon will begin
# broadcasting a new ephemeral ID on average every 2^K seconds.
"initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
# begun counting at this value immediately prior to transmitting this
# value to the resolving service. Significant delay in transmitting this
# value to the service risks registration or resolution failures. If a
# value is not provided, the default is zero.
"serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `beacon_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
# `initial_clock_value`, and the secret key generated by the
# Diffie-Hellman key exchange using `service_ecdh_public_key` and
# `service_ecdh_public_key`. This initial EID value will be used by the
# service to confirm that the key exchange process was successful.
"beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `service_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
# `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
# populated.
},
"advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
# populated when registering. It may be empty when updating a beacon
# record because it is ignored in updates.
#
# When registering a beacon that broadcasts Eddystone-EID, this field
# should contain a "stable" Eddystone-UID that identifies the beacon and
# links it to its attachments. The stable Eddystone-UID is only used for
# administering the beacon.
"type": "A String", # Specifies the identifier type.
# Required.
"id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
# [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
# requests, and will be so encoded (with padding) in responses. The base64
# encoding should be of the binary byte-stream and not any textual (such as
# hex) representation thereof.
# Required.
},
"beaconName": "A String", # Resource name of this beacon. A beacon name has the format
# "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
# the beacon and N is a code for the beacon's type. Possible values are
# `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
#
# This field must be left empty when registering. After reading a beacon,
# clients can use the name for future operations.
"expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"properties": { # Properties of the beacon device, for example battery type or firmware
# version.
# Optional.
"a_key": "A String",
},
"provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
# changing any of its configuration (e.g. broadcast frames, transmit power).
# This field provides a place to store and control access to that key.
# This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
# from users with write access to the given beacon. That is to say: If the
# user is authorized to write the beacon's confidential data in the service,
# the service considers them authorized to configure the beacon. Note
# that this key grants nothing on the service, only on the beacon itself.
},
],
"totalCount": "A String", # Estimate of the total number of beacons matched by the query. Higher
# values may be less accurate.
}</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call 'execute()' on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
<div class="method">
<code class="details" id="register">register(body, projectId=None, x__xgafv=None)</code>
<pre>Registers a previously unregistered beacon given its `advertisedId`.
These IDs are unique within the system. An ID can be registered only once.
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **Is owner** or **Can edit** permissions in the
Google Developers Console project.
Args:
body: object, The request body. (required)
The object takes the form of:
{ # Details of a beacon device.
"status": "A String", # Current status of the beacon.
# Required.
"description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
# characters.
# Optional.
"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
# Google Maps API.
# Optional.
# useful to indicate which floor of a building a beacon is located on.
"name": "A String", # The name of this level.
},
"latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
# This location is given when the beacon is registered or updated. It does
# not necessarily indicate the actual current location of the beacon.
# Optional.
# of doubles representing degrees latitude and degrees longitude. Unless
# specified otherwise, this must conform to the
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. Values must be within normalized ranges.
#
# Example of normalization code in Python:
#
# def NormalizeLongitude(longitude):
# """Wraps decimal degrees longitude to [-180.0, 180.0]."""
# q, r = divmod(longitude, 360.0)
# if r > 180.0 or (r == 180.0 and q <= -1.0):
# return r - 360.0
# return r
#
# def NormalizeLatLng(latitude, longitude):
# """Wraps decimal degrees latitude and longitude to
# [-90.0, 90.0] and [-180.0, 180.0], respectively."""
# r = latitude % 360.0
# if r <= 90.0:
# return r, NormalizeLongitude(longitude)
# elif r >= 270.0:
# return r - 360, NormalizeLongitude(longitude)
# else:
# return 180 - r, NormalizeLongitude(longitude + 180.0)
#
# assert 180.0 == NormalizeLongitude(180.0)
# assert -180.0 == NormalizeLongitude(-180.0)
# assert -179.0 == NormalizeLongitude(181.0)
# assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
# assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
# assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
# assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
# assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
# assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
# assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
# assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
"latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
"longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
"placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
# the beacon is deployed. This is given when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
# (remotely resolved ephemeral ID) format. This information will not be
# populated in API responses. When submitting this data, the `advertised_id`
# field must contain an ID of type Eddystone-UID. Any other ID type will
# result in an error.
# Two ways of securely registering an Eddystone-EID beacon with the service
# are supported:
#
# 1. Perform an ECDH key exchange via this API, including a previous call
# to `GET /v1beta1/eidparams`. In this case the fields
# `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
# populated and `beacon_identity_key` should not be populated. This
# method ensures that only the two parties in the ECDH key exchange can
# compute the identity key, which becomes a secret between them.
# 2. Derive or obtain the beacon's identity key via other secure means
# (perhaps an ECDH key exchange between the beacon and a mobile device
# or any other secure method), and then submit the resulting identity key
# to the service. In this case `beacon_identity_key` field should be
# populated, and neither of `beacon_ecdh_public_key` nor
# `service_ecdh_public_key` fields should be. The security of this method
# depends on how securely the parties involved (in particular the
# bluetooth client) handle the identity key, and obviously on how
# securely the identity key was generated.
#
# See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
"rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
# ephemeral ID. "Nominal" because the beacon should randomize the
# actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
# for details. This value corresponds to a power-of-two scaler on the
# beacon's clock: when the scaler value is K, the beacon will begin
# broadcasting a new ephemeral ID on average every 2^K seconds.
"initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
# begun counting at this value immediately prior to transmitting this
# value to the resolving service. Significant delay in transmitting this
# value to the service risks registration or resolution failures. If a
# value is not provided, the default is zero.
"serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `beacon_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
# `initial_clock_value`, and the secret key generated by the
# Diffie-Hellman key exchange using `service_ecdh_public_key` and
# `service_ecdh_public_key`. This initial EID value will be used by the
# service to confirm that the key exchange process was successful.
"beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `service_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
# `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
# populated.
},
"advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
# populated when registering. It may be empty when updating a beacon
# record because it is ignored in updates.
#
# When registering a beacon that broadcasts Eddystone-EID, this field
# should contain a "stable" Eddystone-UID that identifies the beacon and
# links it to its attachments. The stable Eddystone-UID is only used for
# administering the beacon.
"type": "A String", # Specifies the identifier type.
# Required.
"id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
# [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
# requests, and will be so encoded (with padding) in responses. The base64
# encoding should be of the binary byte-stream and not any textual (such as
# hex) representation thereof.
# Required.
},
"beaconName": "A String", # Resource name of this beacon. A beacon name has the format
# "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
# the beacon and N is a code for the beacon's type. Possible values are
# `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
#
# This field must be left empty when registering. After reading a beacon,
# clients can use the name for future operations.
"expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"properties": { # Properties of the beacon device, for example battery type or firmware
# version.
# Optional.
"a_key": "A String",
},
"provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
# changing any of its configuration (e.g. broadcast frames, transmit power).
# This field provides a place to store and control access to that key.
# This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
# from users with write access to the given beacon. That is to say: If the
# user is authorized to write the beacon's confidential data in the service,
# the service considers them authorized to configure the beacon. Note
# that this key grants nothing on the service, only on the beacon itself.
}
projectId: string, The project id of the project the beacon will be registered to. If
the project id is not specified then the project making the request
is used.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Details of a beacon device.
"status": "A String", # Current status of the beacon.
# Required.
"description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
# characters.
# Optional.
"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
# Google Maps API.
# Optional.
# useful to indicate which floor of a building a beacon is located on.
"name": "A String", # The name of this level.
},
"latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
# This location is given when the beacon is registered or updated. It does
# not necessarily indicate the actual current location of the beacon.
# Optional.
# of doubles representing degrees latitude and degrees longitude. Unless
# specified otherwise, this must conform to the
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. Values must be within normalized ranges.
#
# Example of normalization code in Python:
#
# def NormalizeLongitude(longitude):
# """Wraps decimal degrees longitude to [-180.0, 180.0]."""
# q, r = divmod(longitude, 360.0)
# if r > 180.0 or (r == 180.0 and q <= -1.0):
# return r - 360.0
# return r
#
# def NormalizeLatLng(latitude, longitude):
# """Wraps decimal degrees latitude and longitude to
# [-90.0, 90.0] and [-180.0, 180.0], respectively."""
# r = latitude % 360.0
# if r <= 90.0:
# return r, NormalizeLongitude(longitude)
# elif r >= 270.0:
# return r - 360, NormalizeLongitude(longitude)
# else:
# return 180 - r, NormalizeLongitude(longitude + 180.0)
#
# assert 180.0 == NormalizeLongitude(180.0)
# assert -180.0 == NormalizeLongitude(-180.0)
# assert -179.0 == NormalizeLongitude(181.0)
# assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
# assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
# assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
# assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
# assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
# assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
# assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
# assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
"latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
"longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
"placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
# the beacon is deployed. This is given when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
# (remotely resolved ephemeral ID) format. This information will not be
# populated in API responses. When submitting this data, the `advertised_id`
# field must contain an ID of type Eddystone-UID. Any other ID type will
# result in an error.
# Two ways of securely registering an Eddystone-EID beacon with the service
# are supported:
#
# 1. Perform an ECDH key exchange via this API, including a previous call
# to `GET /v1beta1/eidparams`. In this case the fields
# `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
# populated and `beacon_identity_key` should not be populated. This
# method ensures that only the two parties in the ECDH key exchange can
# compute the identity key, which becomes a secret between them.
# 2. Derive or obtain the beacon's identity key via other secure means
# (perhaps an ECDH key exchange between the beacon and a mobile device
# or any other secure method), and then submit the resulting identity key
# to the service. In this case `beacon_identity_key` field should be
# populated, and neither of `beacon_ecdh_public_key` nor
# `service_ecdh_public_key` fields should be. The security of this method
# depends on how securely the parties involved (in particular the
# bluetooth client) handle the identity key, and obviously on how
# securely the identity key was generated.
#
# See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
"rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
# ephemeral ID. "Nominal" because the beacon should randomize the
# actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
# for details. This value corresponds to a power-of-two scaler on the
# beacon's clock: when the scaler value is K, the beacon will begin
# broadcasting a new ephemeral ID on average every 2^K seconds.
"initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
# begun counting at this value immediately prior to transmitting this
# value to the resolving service. Significant delay in transmitting this
# value to the service risks registration or resolution failures. If a
# value is not provided, the default is zero.
"serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `beacon_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
# `initial_clock_value`, and the secret key generated by the
# Diffie-Hellman key exchange using `service_ecdh_public_key` and
# `service_ecdh_public_key`. This initial EID value will be used by the
# service to confirm that the key exchange process was successful.
"beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `service_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
# `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
# populated.
},
"advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
# populated when registering. It may be empty when updating a beacon
# record because it is ignored in updates.
#
# When registering a beacon that broadcasts Eddystone-EID, this field
# should contain a "stable" Eddystone-UID that identifies the beacon and
# links it to its attachments. The stable Eddystone-UID is only used for
# administering the beacon.
"type": "A String", # Specifies the identifier type.
# Required.
"id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
# [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
# requests, and will be so encoded (with padding) in responses. The base64
# encoding should be of the binary byte-stream and not any textual (such as
# hex) representation thereof.
# Required.
},
"beaconName": "A String", # Resource name of this beacon. A beacon name has the format
# "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
# the beacon and N is a code for the beacon's type. Possible values are
# `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
#
# This field must be left empty when registering. After reading a beacon,
# clients can use the name for future operations.
"expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"properties": { # Properties of the beacon device, for example battery type or firmware
# version.
# Optional.
"a_key": "A String",
},
"provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
# changing any of its configuration (e.g. broadcast frames, transmit power).
# This field provides a place to store and control access to that key.
# This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
# from users with write access to the given beacon. That is to say: If the
# user is authorized to write the beacon's confidential data in the service,
# the service considers them authorized to configure the beacon. Note
# that this key grants nothing on the service, only on the beacon itself.
}</pre>
</div>
<div class="method">
<code class="details" id="update">update(beaconName, body, projectId=None, x__xgafv=None)</code>
<pre>Updates the information about the specified beacon. **Any field that you do
not populate in the submitted beacon will be permanently erased**, so you
should follow the "read, modify, write" pattern to avoid inadvertently
destroying data.
Changes to the beacon status via this method will be silently ignored.
To update beacon status, use the separate methods on this API for
activation, deactivation, and decommissioning.
Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
from a signed-in user with **Is owner** or **Can edit** permissions in the
Google Developers Console project.
Args:
beaconName: string, Resource name of this beacon. A beacon name has the format
"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
the beacon and N is a code for the beacon's type. Possible values are
`3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
This field must be left empty when registering. After reading a beacon,
clients can use the name for future operations. (required)
body: object, The request body. (required)
The object takes the form of:
{ # Details of a beacon device.
"status": "A String", # Current status of the beacon.
# Required.
"description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
# characters.
# Optional.
"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
# Google Maps API.
# Optional.
# useful to indicate which floor of a building a beacon is located on.
"name": "A String", # The name of this level.
},
"latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
# This location is given when the beacon is registered or updated. It does
# not necessarily indicate the actual current location of the beacon.
# Optional.
# of doubles representing degrees latitude and degrees longitude. Unless
# specified otherwise, this must conform to the
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. Values must be within normalized ranges.
#
# Example of normalization code in Python:
#
# def NormalizeLongitude(longitude):
# """Wraps decimal degrees longitude to [-180.0, 180.0]."""
# q, r = divmod(longitude, 360.0)
# if r > 180.0 or (r == 180.0 and q <= -1.0):
# return r - 360.0
# return r
#
# def NormalizeLatLng(latitude, longitude):
# """Wraps decimal degrees latitude and longitude to
# [-90.0, 90.0] and [-180.0, 180.0], respectively."""
# r = latitude % 360.0
# if r <= 90.0:
# return r, NormalizeLongitude(longitude)
# elif r >= 270.0:
# return r - 360, NormalizeLongitude(longitude)
# else:
# return 180 - r, NormalizeLongitude(longitude + 180.0)
#
# assert 180.0 == NormalizeLongitude(180.0)
# assert -180.0 == NormalizeLongitude(-180.0)
# assert -179.0 == NormalizeLongitude(181.0)
# assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
# assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
# assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
# assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
# assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
# assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
# assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
# assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
"latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
"longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
"placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
# the beacon is deployed. This is given when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
# (remotely resolved ephemeral ID) format. This information will not be
# populated in API responses. When submitting this data, the `advertised_id`
# field must contain an ID of type Eddystone-UID. Any other ID type will
# result in an error.
# Two ways of securely registering an Eddystone-EID beacon with the service
# are supported:
#
# 1. Perform an ECDH key exchange via this API, including a previous call
# to `GET /v1beta1/eidparams`. In this case the fields
# `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
# populated and `beacon_identity_key` should not be populated. This
# method ensures that only the two parties in the ECDH key exchange can
# compute the identity key, which becomes a secret between them.
# 2. Derive or obtain the beacon's identity key via other secure means
# (perhaps an ECDH key exchange between the beacon and a mobile device
# or any other secure method), and then submit the resulting identity key
# to the service. In this case `beacon_identity_key` field should be
# populated, and neither of `beacon_ecdh_public_key` nor
# `service_ecdh_public_key` fields should be. The security of this method
# depends on how securely the parties involved (in particular the
# bluetooth client) handle the identity key, and obviously on how
# securely the identity key was generated.
#
# See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
"rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
# ephemeral ID. "Nominal" because the beacon should randomize the
# actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
# for details. This value corresponds to a power-of-two scaler on the
# beacon's clock: when the scaler value is K, the beacon will begin
# broadcasting a new ephemeral ID on average every 2^K seconds.
"initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
# begun counting at this value immediately prior to transmitting this
# value to the resolving service. Significant delay in transmitting this
# value to the service risks registration or resolution failures. If a
# value is not provided, the default is zero.
"serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `beacon_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
# `initial_clock_value`, and the secret key generated by the
# Diffie-Hellman key exchange using `service_ecdh_public_key` and
# `service_ecdh_public_key`. This initial EID value will be used by the
# service to confirm that the key exchange process was successful.
"beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `service_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
# `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
# populated.
},
"advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
# populated when registering. It may be empty when updating a beacon
# record because it is ignored in updates.
#
# When registering a beacon that broadcasts Eddystone-EID, this field
# should contain a "stable" Eddystone-UID that identifies the beacon and
# links it to its attachments. The stable Eddystone-UID is only used for
# administering the beacon.
"type": "A String", # Specifies the identifier type.
# Required.
"id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
# [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
# requests, and will be so encoded (with padding) in responses. The base64
# encoding should be of the binary byte-stream and not any textual (such as
# hex) representation thereof.
# Required.
},
"beaconName": "A String", # Resource name of this beacon. A beacon name has the format
# "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
# the beacon and N is a code for the beacon's type. Possible values are
# `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
#
# This field must be left empty when registering. After reading a beacon,
# clients can use the name for future operations.
"expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"properties": { # Properties of the beacon device, for example battery type or firmware
# version.
# Optional.
"a_key": "A String",
},
"provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
# changing any of its configuration (e.g. broadcast frames, transmit power).
# This field provides a place to store and control access to that key.
# This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
# from users with write access to the given beacon. That is to say: If the
# user is authorized to write the beacon's confidential data in the service,
# the service considers them authorized to configure the beacon. Note
# that this key grants nothing on the service, only on the beacon itself.
}
projectId: string, The project id of the beacon to update. If the project id is not
specified then the project making the request is used. The project id
must match the project that owns the beacon.
Optional.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Details of a beacon device.
"status": "A String", # Current status of the beacon.
# Required.
"description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
# characters.
# Optional.
"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
# Google Maps API.
# Optional.
# useful to indicate which floor of a building a beacon is located on.
"name": "A String", # The name of this level.
},
"latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
# This location is given when the beacon is registered or updated. It does
# not necessarily indicate the actual current location of the beacon.
# Optional.
# of doubles representing degrees latitude and degrees longitude. Unless
# specified otherwise, this must conform to the
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
# standard</a>. Values must be within normalized ranges.
#
# Example of normalization code in Python:
#
# def NormalizeLongitude(longitude):
# """Wraps decimal degrees longitude to [-180.0, 180.0]."""
# q, r = divmod(longitude, 360.0)
# if r > 180.0 or (r == 180.0 and q <= -1.0):
# return r - 360.0
# return r
#
# def NormalizeLatLng(latitude, longitude):
# """Wraps decimal degrees latitude and longitude to
# [-90.0, 90.0] and [-180.0, 180.0], respectively."""
# r = latitude % 360.0
# if r <= 90.0:
# return r, NormalizeLongitude(longitude)
# elif r >= 270.0:
# return r - 360, NormalizeLongitude(longitude)
# else:
# return 180 - r, NormalizeLongitude(longitude + 180.0)
#
# assert 180.0 == NormalizeLongitude(180.0)
# assert -180.0 == NormalizeLongitude(-180.0)
# assert -179.0 == NormalizeLongitude(181.0)
# assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
# assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
# assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
# assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
# assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
# assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
# assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
# assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
# assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
"latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
"longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
},
"placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
# the beacon is deployed. This is given when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
# (remotely resolved ephemeral ID) format. This information will not be
# populated in API responses. When submitting this data, the `advertised_id`
# field must contain an ID of type Eddystone-UID. Any other ID type will
# result in an error.
# Two ways of securely registering an Eddystone-EID beacon with the service
# are supported:
#
# 1. Perform an ECDH key exchange via this API, including a previous call
# to `GET /v1beta1/eidparams`. In this case the fields
# `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
# populated and `beacon_identity_key` should not be populated. This
# method ensures that only the two parties in the ECDH key exchange can
# compute the identity key, which becomes a secret between them.
# 2. Derive or obtain the beacon's identity key via other secure means
# (perhaps an ECDH key exchange between the beacon and a mobile device
# or any other secure method), and then submit the resulting identity key
# to the service. In this case `beacon_identity_key` field should be
# populated, and neither of `beacon_ecdh_public_key` nor
# `service_ecdh_public_key` fields should be. The security of this method
# depends on how securely the parties involved (in particular the
# bluetooth client) handle the identity key, and obviously on how
# securely the identity key was generated.
#
# See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
"rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
# ephemeral ID. "Nominal" because the beacon should randomize the
# actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
# for details. This value corresponds to a power-of-two scaler on the
# beacon's clock: when the scaler value is K, the beacon will begin
# broadcasting a new ephemeral ID on average every 2^K seconds.
"initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
# begun counting at this value immediately prior to transmitting this
# value to the resolving service. Significant delay in transmitting this
# value to the service risks registration or resolution failures. If a
# value is not provided, the default is zero.
"serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `beacon_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
# `initial_clock_value`, and the secret key generated by the
# Diffie-Hellman key exchange using `service_ecdh_public_key` and
# `service_ecdh_public_key`. This initial EID value will be used by the
# service to confirm that the key exchange process was successful.
"beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
# key exchange. When this field is populated, `service_ecdh_public_key`
# must also be populated, and `beacon_identity_key` must not be.
"beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
# `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
# populated.
},
"advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
# populated when registering. It may be empty when updating a beacon
# record because it is ignored in updates.
#
# When registering a beacon that broadcasts Eddystone-EID, this field
# should contain a "stable" Eddystone-UID that identifies the beacon and
# links it to its attachments. The stable Eddystone-UID is only used for
# administering the beacon.
"type": "A String", # Specifies the identifier type.
# Required.
"id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
# [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
# requests, and will be so encoded (with padding) in responses. The base64
# encoding should be of the binary byte-stream and not any textual (such as
# hex) representation thereof.
# Required.
},
"beaconName": "A String", # Resource name of this beacon. A beacon name has the format
# "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
# the beacon and N is a code for the beacon's type. Possible values are
# `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
#
# This field must be left empty when registering. After reading a beacon,
# clients can use the name for future operations.
"expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
# updated, not automatically detected in any way.
# Optional.
"properties": { # Properties of the beacon device, for example battery type or firmware
# version.
# Optional.
"a_key": "A String",
},
"provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
# changing any of its configuration (e.g. broadcast frames, transmit power).
# This field provides a place to store and control access to that key.
# This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
# from users with write access to the given beacon. That is to say: If the
# user is authorized to write the beacon's confidential data in the service,
# the service considers them authorized to configure the beacon. Note
# that this key grants nothing on the service, only on the beacon itself.
}</pre>
</div>
</body></html>