Skip to content

cmbntr/clj-exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clj-exchange: Accessing Exchange Web Services from Clojure

Accessing Exchange Web Services from Clojure

External:

Versions

VersionReleasedDocs
0.0.12012-01-02Marginalia
0.0.22014-01-26Marginalia

Usage

(ns example
  (:gen-class)
  (:use [clj-exchange ews mapping time])
  (:import [com.microsoft.schemas.exchange.services._2006.messages FindItemType]))

(defn calendar-items [svc start end]
  (-> (build FindItemType
             {:Traversal "Shallow"
              :ItemShape {:BaseShape "AllProperties"}
              :CalendarView {:StartDate (time-millis start)
                             :EndDate (time-millis end)}
              :ParentFolderIds {:folderIdOrDistinguishedFolderId
                                [{:DistinguishedFolderId {:Id "calendar"}}]}})
      (ex-find-item svc)))

(defn -main [& [endpoint username pwd from to]]
  (let [svc (ews endpoint username pwd)
        c   (calendar-items svc from to)]
    (doseq [i (-> (parse-response c)
                  :ResponseMessages
                  :createItemResponseMessageOrDeleteItemResponseMessageOrGetItemResponseMessage
                  first
                  :JAXBElement :value
                  :RootFolder :Items :itemOrMessageOrCalendarItem
                  )]
      (println i))))


(comment
  (-main "https://example.com/EWS/exchange.asmx" "username" "password" "2012-01-01" "2012-01-06"))

Note: Some endpoint deployments could be case sensitive (e.g. /EWS/Exchange.asmx).

Dependencies

with leinigen

[clj-exchange "0.0.2"]

with maven

<dependency>
  <groupId>clj-exchange</groupId>
  <artifactId>clj-exchange</artifactId>
  <version>0.0.2</version>
</dependency>

License

Copyright (C) 2011, 2014 Michael Locher

Distributed under the Eclipse Public License, the same as Clojure.

About

Accessing Exchange Web Services from Clojure

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages