astrada / gapi-ocaml Goto Github PK
View Code? Open in Web Editor NEWA simple OCaml client for Google Services.
Home Page: http://astrada.github.com/gapi-ocaml/
License: Other
A simple OCaml client for Google Services.
Home Page: http://astrada.github.com/gapi-ocaml/
License: Other
Hi
Do you think the code generation machinery here could be used to generate a Kubernetes API client?
Cheers.
It looks like the latest release on ocamlforge is 0.3.1
. Can you upload the latest one?
gapi-ocaml fail to buid with ocaml 5.0.0 and later
I'm trying to package release 0.3.9 and I'm getting build errors.
`[ 8s] + jbuilder build @install
[ 12s] ocamlc src/gapi/.gapi_ocaml.objs/gapiCurl.{cmo,cmt} (exit 2)
[ 12s] (cd _build/default && /usr/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -3-23-27-32-33 -g -bin-annot -I src/gapi/.gapi_ocaml.objs -I src/gapi/.gapi_ocaml.objs/.private -I /usr/lib64/ocaml/biniou -I /usr/lib64/ocaml/bytes -I /usr/lib64/ocaml/cryptokit -I /usr/lib64/ocaml/curl -I /usr/lib64/ocaml/easy-format -I /usr/lib64/ocaml/extlib -I /usr/lib64/ocaml/netstring -I /usr/lib64/ocaml/netsys -I /usr/lib64/ocaml/num -I /usr/lib64/ocaml/threads -I /usr/lib64/ocaml/yojson -intf-suffix .ml -no-alias-deps -opaque -o src/gapi/.gapi_ocaml.objs/gapiCurl.cmo -c -impl src/gapi/gapiCurl.ml)
[ 12s] File "src/gapi/gapiCurl.ml", line 287, characters 6-7:
[ 12s] Warning 11: this match case is unused.
[ 12s] File "src/gapi/gapiCurl.ml", line 1:
[ 12s] Error: Some fatal warnings were triggered (1 occurrences)
[ 13s] ocamlopt src/gapi/.gapi_ocaml.objs/gapiCurl.{cmx,o} (exit 2)
[ 13s] (cd _build/default && /usr/bin/ocamlopt.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -3-23-27-32-33 -g -I src/gapi/.gapi_ocaml.objs -I src/gapi/.gapi_ocaml.objs/.private -I /usr/lib64/ocaml/biniou -I /usr/lib64/ocaml/bytes -I /usr/lib64/ocaml/cryptokit -I /usr/lib64/ocaml/curl -I /usr/lib64/ocaml/easy-format -I /usr/lib64/ocaml/extlib -I /usr/lib64/ocaml/netstring -I /usr/lib64/ocaml/netsys -I /usr/lib64/ocaml/num -I /usr/lib64/ocaml/threads -I /usr/lib64/ocaml/yojson -intf-suffix .ml -no-alias-deps -opaque -o src/gapi/.gapi_ocaml.objs/gapiCurl.cmx -c -impl src/gapi/gapiCurl.ml)
[ 13s] File "src/gapi/gapiCurl.ml", line 287, characters 6-7:
[ 13s] Warning 11: this match case is unused.
[ 13s] File "src/gapi/gapiCurl.ml", line 1:
[ 13s] Error: Some fatal warnings were triggered (1 occurrences)
`
in_channel_length
doesn't work on big files, the variant LargeFile.in_channel_length
should be used instead.
HI! I'm looking for some tips on concurrent execution of API calls. Ideally, it'd be nice to add support for Lwt (I'm happy to put some work into this, if it'd feasible and welcome), but I'm hoping that -- one way or another -- there's a fairy low overhead way of getting current API calls working.
Any pointers/thoughts on this front?
Milliseconds in RFC 3339 timestamps are ignored, causing issues with Google Drive file creation, because creation date is not modifiable.
In Documents List API binding, there is a bug that prevents fetching shared document metadata, if the document is not owned, but was shared by another user. The library doesn't expect a specific element in the XML entry (sharedWithMeDate
) of shared documents, thus raising an exception.
All the service examples do not set the auth
field of configuration record. This way, the example cannot make authenticated requests to the service.
extlib
conflicts with base64
. base64
would probably make for a nicer decoding experience than Netencoding
, take one more step towards #10. More compelling: extlib advertises itself as deprecated for new code on its repo, and both mrmime
and email_message
depend on base64
, and either would be useful in conjunction with this library.
If file size is bigger than max_upload_chunk_size
, the last chunk is uploaded incorrectly (content length is always equal to max_upload_chunk_size
regardless of remaining bytes). See astrada/google-drive-ocamlfuse#538.
Hi,
Is there some examples I can use to 2-legged authentication with gapi-ocaml?
Cheers
GapiConversation.with_url
ignores the optional parameter auth_context
, so the invoked callback cannot make authenticated requests to the server (unless the callback executes the authorization flow).
Access token refresh (sometimes) does not work because POST requests lack Content-Type HTTP header.
It's a pretty heavy dependency that requires C code. Would be great to do away with it for portability purposes.
What is ocamlnet being used for in gapi-ocaml? If it's not deeply embedded in the code I try removing it.
Greetings! Would you be open to adding support for the Sheets API? I'd be willing to have a go at running the generation tooling and seeing if I could open a PR to add the result, if so.
Response for downloadQuotaExceeded errors contains extra-bytes so the JSON parser fails rebuilding the structured error.
I failed trying to compile the source (f741ddf), while following the instructions in README.
The error is this:
src $ ocamlbuild gdata/gdata.cma
Finished, 1 target (0 cached) in 00:00:00.
+ ocamlfind ocamlc -c -dtypes -w A -warn-error A -w e -warn-error e -w z -warn-error z -package extlib -package netstring -I gdata -o gdata/gdataAuth.cmo gdata/gdataAuth.ml
File "gdata/gdataAuth.ml", line 65, characters 13-37:
Warning 9: the following labels are not bound in this record pattern:
client_id, client_secret, refresh_token
Either bind these labels explicitly or add `; _' to the pattern.
File "gdata/gdataAuth.ml", line 1, characters 0-1:
Error: Error-enabled warnings (1 occurrences)
Command exited with code 2.
Compilation unsuccessful after building 68 targets (0 cached) in 00:00:03.
Actually in line 65 of gdata/gdataAuth.ml an incomplete value of type oauth2_data is created.
Looking at the monadic examples, I was surprised to find the absence of expected tokens bind
, >>=
, or let*
, and instead an abundance of <--
operators. I haven't been able to build these examples or figure out where this operator comes from.
Perhaps we need to either update the examples or add some documentation on this operator?
Using the Calendar
API I've hit this warning:
Warning: Unexpected leaf: name=eventType data_type=Scalar in GapiCalendarV3Model.Event.parse
Just thought I might report in case it's an indication that an update will be needed at some point.
I wonder if you forgot add a new release with tag v0.3.20 ?
Thank you
I'm using google-drive-ocamlfuse which depends on gapi-ocaml
under Arch Linux (using the AUR package), and since yojson has been updated to version 2.0.2, gapi-ocaml
doesn't build anymore since it doesn't support the 2.x API.
For now I've worked around the issue by ignoring updates of the ocaml-yojson
package in my /etc/pacman.conf
file, but it would be great if gapi-ocaml
would support the 2.0 version of yojson
.
In HTTP, header field names are case-insensitive. In HTTP/2, header filed names that are not lowercase are considered malformed.
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.