googleapis / google-api-php-client-services Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
The new parameter 'include-historical-channel-data' (added Feb 8, '17) in the YT Analytics API is not yet defined in the YouTubeAnalytics.php
Adding
'include-historical-channel-data' => array(
'location' => 'query',
'type' => 'boolean',
),
to the reports methods array fixed the problem (https://github.com/google/google-api-php-client-services/blob/master/src/Google/Service/YouTubeAnalytics.php#L214). Else, the client returns no data when using the new parameter.
Currently I don't see any way to easily use the API to generate a signed URL for a given object in a bucket, and have to write my own code to do so. This wasn't a problem and I have a working solution now.
It would be preferable to have a simple method to supply the bucket and file name, along with the expiry time and other signature info and receive a signed URL using the json cert.
A bigger roadblock now is being able to generate a resumable upload signed URL using the library. Because the prefix for the initial POST request is /upload/storage/...
there's no support that I've been able to see in the current PHP sdk.
I apologize in advance if I've just missed something but I've searched the documentation and repo for the last couple of days trying to find a solution without any luck. Thanks in advance!
Hi,
I've read through the code especially the part for datafeeds. I'm just wondering if if is possible to get the items in the warning list? Perhaps like the code, the message and id of the product?
We are implementing the "Google Customsearch API" in TYPO3 at the moment and had some problems with the getFacets methode of the Google_Service_Customsearch_Context Class.
We get back a Object, but all Fields have the Value Null. With a print_r of the Object I can see the correct values, but they are stored in modelData. (See print_r and code below).
We have the same problem with:
getQueries and
getPromotions and
getSearchInformation
Print_R:
Array
(
[0] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => kompetenzen
[anchor] => Kompetenzen
[label_with_op] => more:kompetenzen
)
)
[processed:protected] => Array
(
)
)
[1] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => projekte
[anchor] => Projekte
[label_with_op] => more:projekte
)
)
[processed:protected] => Array
(
)
)
[2] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => arbeiten_bei_uns
[anchor] => Arbeiten bei uns
[label_with_op] => more:arbeiten_bei_uns
)
)
[processed:protected] => Array
(
)
)
[3] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => über_uns
[anchor] => Über uns
[label_with_op] => more:über_uns
)
)
[processed:protected] => Array
(
)
)
[4] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => aktuelles
[anchor] => Aktuelles
[label_with_op] => more:aktuelles
)
)
[processed:protected] => Array
(
)
)
[5] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => offene_stellen
[anchor] => Offene Stellen
[label_with_op] => more:offene_stellen
)
)
[processed:protected] => Array
(
)
)
[6] => Google_Service_Customsearch_ContextFacets Object
(
[internal_gapi_mappings:protected] => Array
(
[labelWithOp] => label_with_op
)
[anchor] =>
[label] =>
[labelWithOp] =>
[modelData:protected] => Array
(
[0] => Array
(
[label] => ansprechpartner
[anchor] => Ansprechpartner
[label_with_op] => more:ansprechpartner
)
)
[processed:protected] => Array
(
)
)
)
Code:
$client = new \Google_Client;
// set the application name
$client->setApplicationName('cabag_googlesearch');
// get developer key
$apiKey = $this->apiKeyRepository->findBestMatchingApiKey();
$client->setDeveloperKey($apiKey['googleapikey']);
$this->service = new \Google_Service_Customsearch($client);
optParams = array_merge(['cx' => $apiKey['googlesearchengineid']], $optParams);
optParams = array_merge(['lr' => 'de'], $optParams);
optParams = array_merge(['hl' => 'de'], $optParams);
$resultRequest = $this->service->cse->listCse($searchTerm, optParams);
$result = $resultRequest->getItems();
$context = $resultRequest->getContext();
$facets = $context->getFacets();
print_r($facets);
Hey guys, are we able to replace the "requestMask.includeField" parameter with "personFields"? It's now documented within the Google People API that the former parameter is now deprecated.
File: https://github.com/google/google-api-php-client-services/blob/master/src/Google/Service/People.php#L146
Line: 146
Documentation: https://developers.google.com/people/api/rest/v1/people.connections/list
Currently the Gmail client uses multipart upload, which is capped at 5MB.
Is there a way to use it to do resumable uploads for larger files?
My composer complains about two identical files it can't create - composer 1.4.2 / HPFS+ / macOS sierra / case insensitive :/
composer require google/apiclient-services v0.14
- Installing google/apiclient-services (v0.14): Loading from cache
Failed to execute unzip -qq '/Users/x/dev/playground/google-apiclient/vendor/google/apiclient-services/031c183dc14ccce7d7407e0e574c41a0' -d '/Users/x/dev/playground/google-apiclient/vendor/composer/340ef576'
replace /Users/x/dev/playground/google-apiclient/vendor/composer/340ef576/google-google-api-php-client-services-b8c3ee8/src/Google/Service/BigQueryDataTransfer.php? [y]es, [n]o, [A]ll, [N]one, [r]ename: NULL
(EOF or read error, treating as "[N]one" ...)
The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
Unzip with unzip command failed, falling back to ZipArchive class
In particular, these:
src/Google/Service
src/Google/Service/BIGQUERYDATATRANSFER.php 10.1 kb
src/Google/Service/BigQueryDataTransfer.php 19.1 kb
Need to fix endpoint for translation API. I have received this message to my email:
Our records indicate that your team haas occasionally used the the HTTP batch mode to request Translation API service by making a POST request to https://www.googleapis.com/batch (details here). We have a pending change in February that will discard batch requests to translation service using the above method. We have an alternative way for you to continue to use the batch functionality: instead of using the https://www.googleapis.com/batch endpoint to make batch requests, please use the endpoint https://translation.googleapis.com/batch/translate to get the same functionality. We request you to make this change as soon as you can. Please reach out to use in case you have any questions.
Google Cloud Support
Please excuse my poor English.
I use Vision API.
But my IDE have some warning.
$service = new \Google_Service_Vision($client);
$result = $service->images->annotate($body);
// Method 'getResponses' not found in \Google_Service_BatchAnnotateImagesResponse
$response = $result->getResponses();
ImageResource.php
annotete function
/**
* Run image detection and annotation for a batch of images. (images.annotate)
*
* @param Google_BatchAnnotateImagesRequest $postBody
* @param array $optParams Optional parameters.
* @return Google_Service_BatchAnnotateImagesResponse
*/
public function annotate(Google_Service_Vision_BatchAnnotateImagesRequest $postBody, $optParams = array())
{
$params = array('postBody' => $postBody);
$params = array_merge($params, $optParams);
return $this->call('annotate', array($params), "Google_Service_Vision_BatchAnnotateImagesResponse");
}
param and return use Google_BatchAnnotateImagesRequest.
But Google_BatchAnnotateImagesRequest can not be found anywhere.
I think, this comment is Google_Service_Vision_BatchAnnotateImagesRequest and Google_Service_Vision_BatchAnnotateImagesResponse.
Or do i mistake how to use the api?
Based on the cloud API reference:
https://cloud.google.com/monitoring/docs/apis
Guys.
Google documentation has been updated and added new classes, one of them is UserSettings.sendas, using the php this service'm having the following result:
Message: Undefined property: Google_Service_Gmail :: $ users_settings_sendAs
Message: Undefined property: Google_Service_Gmail :: $ users_settings_forwardingAddresses
Can anyone help me?Thanks..
Gmail API
The Google Fusion Tables API describes the methods importTable, importRows and replaceRows with two different endpoints. One endpoint is to change metadata only, the other can be used to upload a file (e.g. a CSV) to import a table or update data in a table.
E.g. for importTable
:
POST https://www.googleapis.com/upload/fusiontables/v2/tables/import
POST https://www.googleapis.com/fusiontables/v2/tables/import
Currently this library only supports the "Metadata URI" and can therefore not be used to upload a CSV to Google Fusion Tables.
Please consider to add support for uploads for these methods, as this is their intended use. Without this, you force users to change data using SQL statements, which are bound to rate limits or write HTTP calls to the Fusion Tables API directly without using this library.
Hi !
Thanks a lot for your work !
Due to migration to API v3, i am not able to get the id of a file to set permission.
On API v2 i used $createdFile->getId() and it worked great
Now if try it
[..]
$request = $service->files->create($file,array('fields' => 'id'));
$permission = new Google_Service_Drive_Permission();
$permission->setRole( 'writer' );
$permission->setType( 'anyone' );
$service->permissions->create( $request->getId(), $permission );
[..]
I have got an error : Uncaught Error: Call to undefined method GuzzleHttp\Psr7\Request::getId()
Have you got any ideas for this type of issue ?
Cheers
Laurent
Since the last vendor update I now see this error/notice running some of my tests:
Symfony\Component\Debug\Exception\ContextErrorException: Notice: Indirect modification of overloaded property Google_Service_Webmasters_SitesListResponse::$siteEntry has no effect
.../vendor/google/apiclient/src/Google/Collection.php:20
The code looks something like this (notice thrown on the foreach):
$siteListResponse = $googleWebmasterService->sites->listSites();
$count = 0;
foreach ($siteListResponse as $item) {
++$count;
}
Environment:
$ php -v
PHP 7.1.7 (cli) (built: Jul 6 2017 13:31:15) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.7, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans
$ composer show |grep google
google/apiclient v2.2.0 Client library for Google APIs
google/apiclient-services v0.15 Client library for Google APIs
google/auth v1.0 Google Auth Library for PHP
It would be good to support multiple versions of APIs. For this, we need the client libraries to include the API versions.
I experience some issues for type hinting in Drive API service.
For example:
setPermissions
and getPermissions
should have Google_Service_Drive_Permission[]
as type.FileList
and setFiles
, getFiles
methodsAlso lots of public methods in Files.php
do not have a @return
statement which makes it unconvenient to use with linting tools.
I see that the sdk is autogenerated. Is there a way how we could fix this problem?
In the comment of Google_Service_Appengine_AppsServicesResource::patch, the type of $postBody is Google_Service but Google_Service_Appengine_Service is a subclass of Google_Model
I am currently getting the list of published Android APK versions through the Google_Service_AndroidPublisher service but there's no way, at least I haven't found it, to know if each of those APKs in the list is in alpha or beta testing mode or filter only production APKs.
Is it possible somehow? If not, can be added somehow? I've seen there is an optional params argument in the method but there's no documentation at all about them :)
According to the contributor's guide:
- Ensure that your code adheres to standard PHP conventions, as used in the rest of the library.
We should use phpcs to enforce the coding standards that are used throughout the library.
After an upgrade from v0.18
to >=v0.19
I'm unable to make API calls.
The underlying cURL obvs. doesn't like something.
[2017-09-14 09:12:46] local.ERROR: GuzzleHttp\Exception\ConnectException: cURL error 7: (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:186
Stack trace:
#0 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(150): GuzzleHttp\Handler\CurlFactory::createRejection(Object(GuzzleHttp\Handler\EasyHandle), Array)
#1 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(103): GuzzleHttp\Handler\CurlFactory::finishError(Object(GuzzleHttp\Handler\CurlHandler), Object(GuzzleHttp\Handler\EasyHandle), Object(GuzzleHttp\Handler\CurlFactory))
#2 ...
Curl Error 7 means Failed to connect() to host or proxy.
I figured that the cause of the problem is the new endpoint: 'url' => 'https://firebasedynamiclinks-ipv6.googleapis.com/v1/shortLinks?key=xxx
The endpoints have been updated here from https://firebasedynamiclinks.googleapis.com/
=> https://firebasedynamiclinks-ipv6.googleapis.com/
I'm using the official php docker image 7.1.9-fpm
without any modifications to curl or curl libs
I know this is not an actual issue of google-api-php-client-services
, but maybe we can find a solution here.
Cheers
As long as I use composer, I have to include ALL services if I only want to access a single service.
This is a MASSIVE overkill.
Why don't you create composer deps/packages for each service and maybe a target to include all services for backward compat?
It really sucks to add thousands (5097 !!) of files for a super simple API query.
Hello,
How can I use the GTM API v2?
I have a module using the v1 and is working well, but I wanted to use the workspace, and this functionality is available in the v2 only.
Thank you,
Alcindo
Our team has hit a roadblock with using the pubsub emulator project alongside this API. It looks like we're unable to override the rootUrl and, as a result, we can't really use them together in our development environment.
I'd be open to submitting code to correct this issue but I'd like some advice on the best approach. Our team thinks that being able to provide it to the Google_Client constructor would let each Service to inherit the rootUrl, if defined, and not wind up being a ton of changes.
Is there any path forward for fixing this?
2 x 2 filenames in src/Google/Service/Compute
are identical except for case:
HTTPHealthCheck.php
HttpHealthCheck.php
HTTPSHealthCheck.php
HttpsHealthCheck.php
A fix was attempted in #39, but the files have reappeared in adfe1f5.
It seems both class names are defined by the API:
https://www.googleapis.com/discovery/v1/apis/compute/alpha/rest
I can't find any services about Google Sites support.
May I forgot something ?
The batch works great if I insert only one metric, but adding more than one, I always get no rows from the api.
$this->client->setUseBatch(true);
$service = new Google_Service_AdSense($this->client);
$batch = $service->createBatch();
$metrics= ['EARNINGS','CLICKS'];
$dimensions = ['DATE'];
$accountId = 'myaccount';
$optParams = array(
'metric' => $metrics,
'dimension' => $dimensions
);
$req1 = $service->accounts_reports->generate( $accountId,
'2017-04-01',
'2017-04-20',
$optParams);
$req2 = $service->accounts_reports->generate( $accountId,
'2017-03-01',
'2017-03-20',
$optParams);
$batch->add($req1, "thoreau");
$batch->add($req2, "shaw");
$results = $batch->execute();
What I want is to get the product statuses. My problem now is how to paginate the results. Basically, I want create pagination of the results. For now, I can get a 25-result page that comes with a token for a next page. Is it possible to create pagination on this? Or do I have to get all product statuses first before working on pagination?
$statuses = $service->productstatuses->listProductstatuses('id', $parameters);
Hello,
I'm trying to get my server application to manage Google App Domain Calendars resource's but missing class Google_Service_Directory in v2 of google-api-php-client.
Missing migrate this file https://github.com/google/google-api-php-client/blob/v1-master/src/Google/Service/Directory.php in this repositories.
Thanks
Duplicated with googleapis/google-api-php-client#911
When an API releases a major version, automatically detect this and ensure a new major version tag is added for this repo.
The API is returning XML by default causing empty object response.
This can be fixed by using parameter alt=json.
The API library is here: https://developers.google.com/my-business/samples/
I am still having to autoload this separately from the rest of the API services, is this a planned integration?
Thanks
Hi,
I didn't found how to manage users from a Google Apps domain since 2.0? (I use Google_Service_Directory->users->listUsers() in 1.0?)
Full doc : https://developers.google.com/admin-sdk/
API still accessible : https://console.developers.google.com/apis/api/admin/overview and not marked as deprecated
$client = new \Google_Client();
$client->setApplicationName(APP_NAME);
$client->setDeveloperKey(API_KEY);
$service = new \Google_Service_Translate($client);
$translations = $service->translations->listTranslations("hello", "it", ["source" => "en", "format" => "html"])->getTranslations();
var_dump($translations);
This code returns empty, instead of the translations.
I edited my own code (see #37) and it works correctly. If this is not a bug but a desired behaviour, I may suggest considering a better way to document this API.
I'm using google-api-php-client on my project, and composer installs dev-master
of this repository.
I check all codes from composer to assert everything works by using php -l
, however it raised a sytnax error which indicates return
is used as a funciton name:
PHP Parse error: syntax error, unexpected 'return' (T_RETURN), expecting identifier (T_STRING) in ./vendor/google/apiclient-services/Google/Service/Classroom/Resource/CoursesCourseWorkStudentSubmissions.php on line 205
public function return($courseId, $courseWorkId, $id, Google_Service_Classroom_ReturnStudentSubmissionRequest $postBody, $optParams = array())
I'm using php 5.5.30 and it satisfies the minimum-required php version of google-api-php-client.
Customsearch needs an update to API v2.
I just got the following email from Google as a warning:
"The Custom Search Element API 1.0, which was deprecated in 2012 in favor of API 2.0, is now no longer maintained. API 1.0 may experience outages and failures, and possibly stop working entirely."
Hi,
Cannot find Instances : setLabels method in dev.
Can you give an indication of when you expect this to be added / released?
The BigQuery documentation includes examples for Python and Java but not for PHP. A user asked a question about query parameters with PHP on StackOverflow, but there aren't any working samples.
I'm trying to download a PDF using the basic example but I haven't been able to make PHP return's it as a Content-Type: application/pdf
response.
So far the only lead I have is that I'm running strlen($content)
on the returned type by Google_Service_Drive_Resource_Files::export()
but it says it's an object not a string. What type is returned?
Currently the PHP Documentation of the model classes is lacking, which makes it harder to use them / understand them. Since the model classes are probably generated, a change to the generator should be able to facilitate this. Not sure where to post this issue though, is the generator also on GitHub?
For example Google_Service_Calendar_Event::setStart()
has a type-hint that a Google_Service_Calendar_EventDateTime
object should be used, but getStart()
does not have a PHPDoc @return hint:
class Google_Service_Calendar_Event
{
public function setStart(Google_Service_Calendar_EventDateTime $start)
{
$this->start = $start;
}
//Current approach, no PHPDoc
public function getStart()
{
return $this->start;
}
/**
* Preferred approach
* @return Google_Service_Calendar_EventDateTime
*/
public function getStart()
{
return $this->start;
}
/**
* as of PHP7
* @return Google_Service_Calendar_EventDateTime
*/
public function getStart() : Google_Service_Calendar_EventDateTime
{
return $this->start;
}
}
Currently using the API Client and specific services is quite an 'adventure' / puzzle of finding out how everything works and by trial and error find out the proper way. Does Google use the PHP API Services themselves as well? I would say out of frustration one would add such type hints quite quickly ;)
Hi,
There is a mistake on getters/setters which returns/takes an array of object.
For example: https://github.com/google/google-api-php-client-services/blob/0805897f3435f9eea73ce21da9d55f51c69c1171/src/Google/Service/YouTube/CommentThreadListResponse.php#L56-L59
It should be @return Google_Service_YouTube_CommentThread[]
I didn't opened a PR because it seems to be autogenerated.
Thanks!
When a threat is found in Google_Service_Safebrowsing_ThreatMatch, an exception is thrown when it tries to process "threat" because the API also returns a property named "threatType".
If the API responds with:
{
"threatType": "SOCIAL_ENGINEERING",
"platformType": "WINDOWS",
"threat": [
"url": "http://example.com/index.html"
],
"cacheDuration": "300s",
"threatEntryType": "URL"
};
then I get an error like:
Fatal error: Class 'SOCIAL_ENGINEERING' not found in /path/to/lib/vendor/google/apiclient/src/Google/Model.php on line 116
Hi guys,
I've been trying to make use of the Google CSE resources and I think I've encountered I bug related with one of your server responses.
The JSON response being returned from a call to the resource Google_Service_Customsearch_Resource_Cse::listCse does not comply with the specification mentioned in the documentation.
Each named key per query is supposedly meant to hold an array and not an array with a single element (see index 0 below). This breaks your decoding approach for the JSON data that should get mapped to the Google_Service_Customsearch_Query class.
The easiest way I found to reproduce this response was to remove the final modifier from Google_Model::__construct followed by the creation of a Google_Service_Customsearch_Search::__construct in which I dump the contents of the value that is passed to this constructor.
Without access to these instances of Google_Service_Customsearch_Query I would have to keep track of the last query parameters/results and also run my own math to proceed with next page requests.
Below is a partial output of the received JSON response:
Array
(
[kind] => customsearch#search
[url] => Array
(
[type] => application/json
[template] => '...'
)
[queries] => Array (
[request] => Array (
[0] => Array (
[title] => Google Custom Search -
[totalResults] => 2030000000
[searchTerms] => '...'
[count] => 10
[startIndex] => 1
[inputEncoding] => utf8
[outputEncoding] => utf8
[safe] => off
[cx] => '...'
)
)
[nextPage] => Array (
[0] => Array (
[title] => Google Custom Search
[totalResults] => 2030000000
[searchTerms] => '...'
[count] => 10
[startIndex] => 11
[inputEncoding] => utf8
[outputEncoding] => utf8
[safe] => off
[cx] => '...'
)
)
)
...
)
Keep up the good work.
Hi
I want know where I must put the API key?
I have this error:
Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information
I share my code. Thanks
$speech = new SpeechClient([
'projectId' => 'PROJECT_ID'
]);
$recognizeOptions = [
'encoding' => 'LINEAR16',
'languageCode' => 'fr-FR',
'sampleRate' => 16000,
];
// Recognize the speech in an audio file.
$results = $speech->recognize(
fopen(__DIR__ . $pathUploads.'/'.$fileAudio, 'r'),
$recognizeOptions
);
Looks like the $threatType
property has been declared 2 times.
# vendor/google/apiclient-services/Google/Service/Safebrowsing/ThreatMatch.php
class Google_Service_Safebrowsing_ThreatMatch extends Google_Model
{
public $cacheDuration;
public $platformType;
protected $threatType = 'Google_Service_Safebrowsing_ThreatEntry'; //here
protected $threatDataType = '';
protected $threatEntryMetadataType = 'Google_Service_Safebrowsing_ThreatEntryMetadata';
protected $threatEntryMetadataDataType = '';
public $threatEntryType;
public $threatType; // and there
}
Thanks,
Ben
/src/Google/Service/BIGQUERYDATATRANSFER.php
/src/Google/Service/BigQueryDataTransfer.php
One of them (possibly the second one) must be more up-to-date.
If we use the first one, PSR-0 autoloader would fail
(in an OS with case-sensitive file system)
to load some classes (e.g. class Google_Service_BIGQUERYDATATRANSFER_Resource_Projects)
as there is no folder called:
/src/Google/Service/BIGQUERYDATATRANSFER/
Hi, I'm trying to make a product purchase validation using a service account, here's my PHP code:
require_once "../path/to/vendor/autoload.php";
putenv('GOOGLE_APPLICATION_CREDENTIALS=../path/to/ServiceAccountJSONkey');
$packageName = ""; //PackageName
$productId= ""; //ProductID
$token = ""; // purchase token
$client = new Google_Client();
$client->setScopes(['https://www.googleapis.com/auth/androidpublisher']);
$client->useApplicationDefaultCredentials();
if($client->isAccessTokenExpired()) {
$client->refreshTokenWithAssertion();
}
$service = new Google_Service_AndroidPublisher($client);
$results = $service->products->get($packageName, $productId, $token, array());
exit;
But I'm getting this error:
Fatal error: Call to a member function get() on null in ../purchaseValidation.php on line X
Where X is this line: $results = $service->products->get($packageName, $productId, $token, array());
I don't know what I'm doing wrong, I tried to look for examples on the net but no luck.
Any help would be appreciated, thank you!
google-api-php-client-services/src/Google/Service/Compute/HTTPSHealthCheck.php should be deleted
as google-api-php-client-services/src/Google/Service/Compute/HttpsHealthCheck.php this what we need
Note the "case" of file names, especially in windows based system this will lead to issue where the one with CAPS will most likely overwrite the other !
Is there any plan for implementing fetch as google feature in webmaster api?
There are two folders here: https://github.com/google/google-api-php-client-services/tree/master/src/Google/Service that are called BigQueryDataTransfer and BIGQUERYDATATRANSFER that in Windows clash.
Because of that, composer update crashes.
I have opened an issue on composer, but I think that those folders shouldn't be called like that.
It would be great if you can address this issue.
Thanks,
J
$metricFilterSessions = new \Google_Service_AnalyticsReporting_MetricFilter();
$metricFilterSessions->setComparisonValue("100");
Translates to comparison_value JSON intead of comparisonValue https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#metricfilter
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.