Can't call App Script function thru the REST api - java

I'm using Java API for calling the AppScript function on the spreadsheet
When I list deployments
List<Deployment> deployments = projects.deployments().list("XXX").execute().getDeployments();
I can see my deployments but the deployment.getFunctionSet() is NULL
So when I call
Operation op = service.scripts().run(
"XXX",
new ExecutionRequest().setDevMode(true).setFunction("exportJson")
).execute();
I get
{
"code" : 404,
"errors" : [ {
"domain" : "global",
"message" : "Requested entity was not found.",
"reason" : "notFound"
} ],
"message" : "Requested entity was not found.",
"status" : "NOT_FOUND"
}
The question - how to call function from the google app script? )

Related

Listing teamdrive in google drive sdk with service account

I am trying to list the team drives using service account (domain wide delegation is enabled), when i do so with just the "teamdrives().list()" i am getting a blank response.
{
"kind" : "drive#teamDriveList",
"teamDrives" : [ ]
}
If i use "teamdrives().list().setUseDomainAdminAccess(true).setQ("name='Test'")" or "teamdrives().list().setUseDomainAdminAccess(true)" i am getting below error.
400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"location" : "q",
"locationType" : "parameter",
"message" : "Invalid Value",
"reason" : "invalid"
} ],
"message" : "Invalid Value"
}
Below is the code block,
InputStream in = new FileInputStream("client_secret.json");
new GoogleCredential();
GoogleCredential credential = GoogleCredential
.fromStream(in)
.createScoped(SCOPES);
Drive _service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build();
tdllist = _service.teamdrives().list().setUseDomainAdminAccess(true).setQ("name='Test'");
TeamDriveList _tdl = tdllist.execute();
Hoping someone will point what i am doing wrong or an efficient way to do this.
Thanks in advance.
Thanks and Regards
KKG
Update
After some research got to know that "teamdrives().list()" is listing the teamdrive that the user has access to, so i guess that part is working as it is suppose to. But the remaining is still a mystery.

Java YTApi LiveChatMessage (v 3)

I'm trying to work with the YoutubeLiveChat-API in Java.
I'm having trouble to insert a LiveChatMessage because it is always returning the errorcode 400:
{
"code" : 400,
"errors" : [ {
"domain" : "youtube.part",
"location" : "part",
"locationType" : "parameter",
"message" : "liveChatMessage",
"reason" : "unknownPart"
} ],
"message" : "liveChatMessage"
}
The error occurs at the following line:
youtube.liveChatMessages().insert("snippet,liveChatMessage",msg).execute();
I already know that the problem is insert(<String>,msg) but I don't know what to put int for String.
Thank you!

how to compose a request google cloud storage (for parallel upload) using java

I'm trying to upload a file (500 MB) to the google cloud storage. (java)
I created a List of Soource objects and I need to add ObjectPreconditions , ifGenerationMatch () to each of the object in that list.
I don't understand how to use it.
the errors I got from google were not informative at all.
StorageObject metadata = new StorageObject()
.setContentType("text/plain");
List<SourceObjects> sourceObjects = new ArrayList<SourceObjects>();
for (int i = 0; i <= chunkNumber; i++) {
sourceObjects.add( new SourceObjects().setName(objectName + ".chunk" + i) );
}
ComposeRequest composeReq = new ComposeRequest()
.setSourceObjects(sourceObjects)
.setDestination(metadata);
storage.objects().compose(bucketName, fileName,composeReq).execute();
and this is the error:
{
"code" : 404,
"errors" : [ {
"domain" : "global",
"message" : "Not Found",
"reason" : "notFound"
} ],
"message" : "Not Found"

JSON Format Error-Amzon EC2 instance creation

i am doin Amazon Stack Creation through Java Eclipse.
tis below line of code is throwing the error
csr.setTemplateURL("https://s3.amazonaws.com/cloudformation-templates-us-east- 1/AutoScalingMultiAZSample.template");
I am getting the error as :
Caught Exception: Parameters: [KeyName] must have values (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: 9363d711-3535-11e4-8cf2-913ef42879cb)
Reponse Status Code: 400
my json template url is
https://s3.amazonaws.com/cloudformation-templates-us-east-1/AutoScalingMultiAZSample.template
Please help on this to detect the exact source of the error.
Ok i tried to validate your json schema using online validator.
http://jsonlint.com/
I just copied your json schema and pasted there. It said invalid schema expecting { on line 1. Ok for sure i have to put opening and closing brackets and in between your schema. But again it gave error. Extra Bracket } on last line. So i had to remove it. And then json schema was validated. It means somewhere in your schema you are putting an extra closing bracket }.
I think the place where you are making mistake is:
"InstanceSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Enable SSH access and HTTP from the load balancer only",
"SecurityGroupIngress" : [ {
"IpProtocol" : "tcp",
"FromPort" : "22",
"ToPort" : "22",
"CidrIp" : { "Ref" : "SSHLocation"}
},
{
"IpProtocol" : "tcp",
"FromPort" : { "Ref" : "WebServerPort" },
"ToPort" : { "Ref" : "WebServerPort" },
"SourceSecurityGroupOwnerId" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.OwnerAlias"]},
"SourceSecurityGroupName" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.GroupName"]}
} ]
}
}//Extra Bracket i think so
},
"Outputs" : {
"URL" : {
"Description" : "The URL of the website",
"Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]}
}
}
}

google distance matrix api strange

I am facing a strange problem here,
when I run below url from web browser or from java command line
http://maps.googleapis.com/maps/api/distancematrix/json?origins=416%2063,Sweden&destinations=424%2069,Stor%C3%A5s%20Industrigatan%2020,Angered,G%C3%B6teborg&sensor=false
I get below results.
{
"destination_addresses" : [ "StorĂ¥s Industrigata 20, 424 69
Angered, Sweden" ],
"origin_addresses" : [ "Gothenburg, Sweden" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "10.4 km",
"value" : 10388
},
"duration" : {
"text" : "15 mins",
"value" : 924
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
but when I run the same url from glassfish server I mean sending an
http request from
form submit I get below strange response
{ "destination_addresses" : [ "" ],
"origin_addresses" : [ "Gothenburg, Sweden" ],
"rows" : [
{
"elements" : [
{
"status" : "NOT_FOUND"
}
]
}
],
"status" : "OK"
}
please not destination_addresses is empty in this case and status in
NOT_FOUND.
Java code I used to get the response is
private String getResponse(String URL) throws Exception {
InputStream stream = new URL(URL).openStream();
byte[] array = new byte[stream.available()];
stream.read(array);
return new String(array);
}
please guide me to resolve this issue,
thanks....
Use https
unless google will not let your software to connect.
and
get a api key.
read this:
https://developers.google.com/maps/documentation/distance-matrix/start
https://maps.googleapis.com/maps/api/distancematrix/json?origins=416%2063,Sweden&destinations=424%2069,Stor%C3%A5s%20Industrigatan%2020,Angered,G%C3%B6teborg&sensor=false&key=YOUR_API_KEY
be sure to replace YOUR_API_KEY with your actual API key
I had a similar problem when using the Distance Matrix API in Java. Setting the language in my request seems to make it work:
DistanceMatrixElement distanceMatrixElement;
DistanceMatrix matrix;
try
{
matrix = distanceMatrixApiRequest
.origins(...)
.destinations(...)
.language("en")
.await();
}

Categories

Resources