I'm trying to retrieve metrics from Google My Business API.
However I cant figure out what to pass as a timestamp for the time periods.
The error I'm getting is this...
Invalid value at 'basic_request.time_range.end_time' (type.googleapis.com/google.protobuf.Timestamp),
Field 'endTime', Invalid data type for timestamp, value is 1606780800
My code is this
$time = new \Google_Service_MyBusiness_TimeRange;
$start = strtotime("2020-01-01");
$end = strtotime("2020-12-01");
$time->setStartTime($start);
$time->setEndTime($end);
In the class for the TimeRange it shows they simply must be timestamps
class Google_Service_MyBusiness_TimeRange extends \Google_Model
{
protected $internal_gapi_mappings = array( );
/* @params Unix Timestamps */
private $endTime;
private $startTime;
However... I was looking at this. https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Timestamp
And it shows that you have to pass something on the lines of Timestamp(seconds, nanos). So it seems like google wants an array of the seconds, and the nano seconds??
Heres other docs to help https://developers.google.com/my-business/reference/rpc/google.mybusiness.v4#google.mybusiness.v4.TimeRange
Anyone run into this problem?
The documentation you link to says:
Suggesting that you should use a similar format.
I wasn't able to find much about this library online, but what little there is does follow this format. "Z" at the end indicates UTC, and I've hard-coded it in my example. It should be able to get replaced with your local timezone, but you may have to try perhaps "O" or "P" in the format string.