angular-google-gapi icon indicating copy to clipboard operation
angular-google-gapi copied to clipboard

Can't use the Translate API

Open kanafghan opened this issue 8 years ago • 0 comments

The following does not work:

app.run(function (GApi) {
    // Load Google Translate Client Library
    GApi.load('translate', 'v2');
});

app.controller('FooCtrl', function(GApi) {
     var params = {}; 
     GApi.execute('translate', 'detections.list', params).then(function (result) {
         // ...
     });
});

The issue is that the Translate API is available as language under window.gapi.client and not as translate. The call to execute() method results in an error since the following is tried:

$window.gapi.client['translate'].detections.list.execute(params);

whereas $window.gapi.client['translate'] results to undefined.

My workaround has been as follows:

app.run(function (GApi, $window) {
    // Load Google Translate Client Library
    GApi.load('translate', 'v2').then(function (result) {
        // the API has been loaded successfully
        $window.gapi.client.translate = $window.gapi.client.language;
    });
});

This works nicely, but the library should take care of this case and not the client. I can start a PR on this if needed!?

kanafghan avatar Oct 28 '16 07:10 kanafghan