Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 118 lines (82 sloc) 3.429 kB
7cba1cc Prototype of CalendarList data structure
Alessandro Strada authored
1 Note: **Click on `README.md` in the directory view to have working relative
2 links.**
d854949 Fix README
Alessandro Strada authored
3
37fcd90 Add simple documentation
Alessandro Strada authored
4 Google APIs Client library for OCaml
5 ====================================
6
390609b @astrada README minor changes
authored
7 **gapi-ocaml** is a simple, unofficial, OCaml client for Google Services. The
8 library supports ClientLogin, OAuth 1.0a, and OAuth 2.0 authentication.
9 Supported RESTful APIs:
37fcd90 Add simple documentation
Alessandro Strada authored
10
4b1ec25 @astrada Update README
authored
11 * Calendar APIs v3 (JSON based)
fad6b1b @astrada Add Google+ data model test
authored
12 * Google+ API v1
9cbf3d6 @astrada Add tasks data model and tests
authored
13 * Tasks API v1
4b1ec25 @astrada Update README
authored
14 * APIs Discovery Service v1
15 * URL Shortener API v1
16 * OAuth2 API v2
10d616c @astrada Update README
authored
17 * Custom Search API v1
7f24b44 @astrada Update oasis file and README
authored
18 * Google Analytics API v3
38c47ed @astrada Update _oasis and READMEs
authored
19 * Page Speed Online API v1
fad6b1b @astrada Add Google+ data model test
authored
20
21 Old versions:
1ff94b2 @astrada Fix bullet points in README
authored
22
fad6b1b @astrada Add Google+ data model test
authored
23 * Calendar Data API v2 (Atom based)
37fcd90 Add simple documentation
Alessandro Strada authored
24
48203bf @astrada Update README
authored
25 ### Features
26
27 * Monadic interface
2032d6d @astrada Update documentation and authorization examples
authored
28 * [Functional lenses](src/gapi/gapiLens.mli) to access data structures
4b1ec25 @astrada Update README
authored
29 * Service generator (experimental): a tool for generating client libraries for
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
30 APIs based on the Google API Discovery format
37fcd90 Add simple documentation
Alessandro Strada authored
31
32 Building gapi-ocaml
33 ------------------
34
35 ### Requirements
36
875c090 @astrada Update dependencies in README.md
authored
37 This library was developed with the following dependencies ([Unofficial OCaml
38 packages for Debian](http://ocaml.debian.net/debian/ocaml-3.12.1/)):
37fcd90 Add simple documentation
Alessandro Strada authored
39
875c090 @astrada Update dependencies in README.md
authored
40 * [OCaml][] = 3.12.1
41 * [Findlib][] = 1.2.7
42 * [Ocamlnet][] = 3.3.5
37fcd90 Add simple documentation
Alessandro Strada authored
43 * [Ocurl][] = 0.5.3
44 * [Cryptokit][] = 1.3.14
45 * [ExtLib][] = 1.5.1
46 * [json-wheel][] = 1.0.6
47 * [Xmlm][] = 1.0.2
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
48 * [pa_monad][] = 6.0 (syntax extension for Monads, optional)
49 * [OUnit][] = 1.1.0 (to build and run the tests, optional)
37fcd90 Add simple documentation
Alessandro Strada authored
50
51 [OCaml]: http://caml.inria.fr/ocaml/release.en.html
52 [Findlib]: http://projects.camlcity.org/projects/findlib.html/
53 [Ocamlnet]: http://projects.camlcity.org/projects/ocamlnet.html
54 [Ocurl]: http://sourceforge.net/projects/ocurl/
55 [Cryptokit]: http://forge.ocamlcore.org/projects/cryptokit/
56 [ExtLib]: http://code.google.com/p/ocaml-extlib/
57 [json-wheel]: http://martin.jambon.free.fr/json-wheel.html
58 [Xmlm]: http://erratique.ch/software/xmlm/doc/Xmlm
59 [pa_monad]: http://www.cas.mcmaster.ca/~carette/pa_monad/
60 [OUnit]: http://ounit.forge.ocamlcore.org/
61
2032d6d @astrada Update documentation and authorization examples
authored
62 ### Configuration and installation
37fcd90 Add simple documentation
Alessandro Strada authored
63
2032d6d @astrada Update documentation and authorization examples
authored
64 This project provides 2 libraries:
37fcd90 Add simple documentation
Alessandro Strada authored
65
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
66 * `gapi`: Google APIs client library
67 * `gdata`: Google Data Protocol client library
37fcd90 Add simple documentation
Alessandro Strada authored
68
2032d6d @astrada Update documentation and authorization examples
authored
69 and 1 executable:
37fcd90 Add simple documentation
Alessandro Strada authored
70
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
71 * `serviceGenerator`: Tool used to generate strongly typed client libraries for
2032d6d @astrada Update documentation and authorization examples
authored
72 Discovery-based services
37fcd90 Add simple documentation
Alessandro Strada authored
73
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
74 To build the libraries and the executable, run
37fcd90 Add simple documentation
Alessandro Strada authored
75
2032d6d @astrada Update documentation and authorization examples
authored
76 $ ocaml setup.ml -configure
77 $ ocaml setup.ml -build
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
78
79 To install the libraries and the executable, run (as root, if your user
80 doesn't have enough privileges)
81
2032d6d @astrada Update documentation and authorization examples
authored
82 $ ocaml setup.ml -install
c1629e1 @astrada Add instructions to generate documentation
authored
83
73bcb52 @astrada Fix dependency on pa_monad
authored
84 To build and run the tests (you will need
85 [pa_monad](http://www.cas.mcmaster.ca/~carette/pa_monad/)), execute
c1629e1 @astrada Add instructions to generate documentation
authored
86
73bcb52 @astrada Fix dependency on pa_monad
authored
87 $ ocaml setup.ml -configure --enable-tests
88 $ ocaml setup.ml -build
2032d6d @astrada Update documentation and authorization examples
authored
89 $ ocaml setup.ml -test
90
91 See [tests README](src/test/README.md) for further details regarding the tests.
92
93 To generate the documentation, run
94
95 $ ocaml setup.ml -doc
96
97 Then you can browse the HTML documentation starting from
98 `gapi-ocaml.docdir/index.html`, but is not installed by default.
99
100 To uninstall anything that was previously installed, execute
101
102 $ ocaml setup.ml -uninstall
c1629e1 @astrada Add instructions to generate documentation
authored
103
37fcd90 Add simple documentation
Alessandro Strada authored
104 ### Usage
105
36cdf4f @astrada Fix README relative links
authored
106 See [auth examples](examples/auth) for some examples of how to use
f741ddf README Wording
Alessandro Strada authored
107 Google's authorization endpoints.
37fcd90 Add simple documentation
Alessandro Strada authored
108
c508864 @astrada Update README usage section
authored
109 See [examples](examples) directory to find simple code samples that show usage
110 of some services.
37fcd90 Add simple documentation
Alessandro Strada authored
111
c508864 @astrada Update README usage section
authored
112 See [service generator](tools/serviceGenerator.ml) for a complex example of
113 how to use functional lenses within the state monad.
48203bf @astrada Update README
authored
114
36cdf4f @astrada Fix README relative links
authored
115 See [tools README](tools/README.md) for the instructions of how to run the
2032d6d @astrada Update documentation and authorization examples
authored
116 service generator utility.
117
Something went wrong with that request. Please try again.