Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 112 lines (79 sloc) 3.206 kB
37fcd90 Add simple documentation
Alessandro Strada authored
1 Google APIs Client library for OCaml
2 ====================================
3
390609b @astrada README minor changes
authored
4 **gapi-ocaml** is a simple, unofficial, OCaml client for Google Services. The
5 library supports ClientLogin, OAuth 1.0a, and OAuth 2.0 authentication.
6 Supported RESTful APIs:
37fcd90 Add simple documentation
Alessandro Strada authored
7
4b1ec25 @astrada Update README
authored
8 * Calendar APIs v3 (JSON based)
fad6b1b @astrada Add Google+ data model test
authored
9 * Google+ API v1
9cbf3d6 @astrada Add tasks data model and tests
authored
10 * Tasks API v1
4b1ec25 @astrada Update README
authored
11 * APIs Discovery Service v1
12 * URL Shortener API v1
13 * OAuth2 API v2
10d616c @astrada Update README
authored
14 * Custom Search API v1
7f24b44 @astrada Update oasis file and README
authored
15 * Google Analytics API v3
38c47ed @astrada Update _oasis and READMEs
authored
16 * Page Speed Online API v1
3b3fcbf @astrada Update _oasis and READMEs (Blogger refs)
authored
17 * Blogger API v2
fad6b1b @astrada Add Google+ data model test
authored
18
19 Old versions:
1ff94b2 @astrada Fix bullet points in README
authored
20
fad6b1b @astrada Add Google+ data model test
authored
21 * Calendar Data API v2 (Atom based)
37fcd90 Add simple documentation
Alessandro Strada authored
22
48203bf @astrada Update README
authored
23 ### Features
24
25 * Monadic interface
26272f9 @astrada Remove relative links from READMEs (#3)
authored
26 * [Functional lenses](http://astrada.github.com/gapi-ocaml/GapiLens.html) to
27 access data structures
4b1ec25 @astrada Update README
authored
28 * Service generator (experimental): a tool for generating client libraries for
ccefbc5 @astrada 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 @astrada 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 @astrada 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 @astrada 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 @astrada Update documentation and authorization examples
authored
61 ### Configuration and installation
37fcd90 Add simple documentation
Alessandro Strada authored
62
2032d6d @astrada Update documentation and authorization examples
authored
63 This project provides 2 libraries:
37fcd90 Add simple documentation
Alessandro Strada authored
64
ccefbc5 @astrada 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
435de32 @astrada Update README references to service generator
authored
68 To build the libraries, run
37fcd90 Add simple documentation
Alessandro Strada authored
69
2032d6d @astrada Update documentation and authorization examples
authored
70 $ ocaml setup.ml -configure
71 $ ocaml setup.ml -build
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
72
435de32 @astrada Update README references to service generator
authored
73 To install the libraries, run (as root, if your user doesn't have enough
74 privileges)
ccefbc5 @astrada Update README, setup.ml and clean tree
authored
75
2032d6d @astrada Update documentation and authorization examples
authored
76 $ ocaml setup.ml -install
c1629e1 @astrada Add instructions to generate documentation
authored
77
73bcb52 @astrada Fix dependency on pa_monad
authored
78 To build and run the tests (you will need
79 [pa_monad](http://www.cas.mcmaster.ca/~carette/pa_monad/)), execute
c1629e1 @astrada Add instructions to generate documentation
authored
80
73bcb52 @astrada Fix dependency on pa_monad
authored
81 $ ocaml setup.ml -configure --enable-tests
82 $ ocaml setup.ml -build
2032d6d @astrada Update documentation and authorization examples
authored
83 $ ocaml setup.ml -test
84
26272f9 @astrada Remove relative links from READMEs (#3)
authored
85 See `src/test/README.md` for further details regarding the tests.
2032d6d @astrada Update documentation and authorization examples
authored
86
87 To generate the documentation, run
88
89 $ ocaml setup.ml -doc
90
91 Then you can browse the HTML documentation starting from
92 `gapi-ocaml.docdir/index.html`, but is not installed by default.
93
94 To uninstall anything that was previously installed, execute
95
96 $ ocaml setup.ml -uninstall
c1629e1 @astrada Add instructions to generate documentation
authored
97
37fcd90 Add simple documentation
Alessandro Strada authored
98 ### Usage
99
26272f9 @astrada Remove relative links from READMEs (#3)
authored
100 See auth examples in `examples/auth` for some examples of how to use Google's
101 authorization endpoints.
37fcd90 Add simple documentation
Alessandro Strada authored
102
26272f9 @astrada Remove relative links from READMEs (#3)
authored
103 See `examples` directory to find code samples that show usage of some
104 services.
37fcd90 Add simple documentation
Alessandro Strada authored
105
26272f9 @astrada Remove relative links from READMEs (#3)
authored
106 See service generator source code (`tools/serviceGenerator.ml`) for a complex
107 example of how to use functional lenses within the state monad.
48203bf @astrada Update README
authored
108
26272f9 @astrada Remove relative links from READMEs (#3)
authored
109 See `tools/README.md` for the instructions of how to build and run the service
110 generator utility.
2032d6d @astrada Update documentation and authorization examples
authored
111
Something went wrong with that request. Please try again.