Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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