]> git.rmz.io Git - dotfiles.git/blobdiff - bin/old/office365-book
email: remove gmail and office365 accounts
[dotfiles.git] / bin / old / office365-book
diff --git a/bin/old/office365-book b/bin/old/office365-book
new file mode 100755 (executable)
index 0000000..3054a5c
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+
+user=samir.benmendil@ultrahaptics.com
+pass=$(pass ultrahaptics/okta.com/samir.benmendil@ultrahaptics.com)
+url="https://outlook.office365.com/EWS/Exchange.asmx"
+
+read -r -d '' data <<EOF
+<?xml version="1.0" encoding="utf-8"?>
+<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
+    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
+    <soap:Body>
+        <ResolveNames 
+            xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
+            xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
+            ReturnFullContactData="true">
+            <UnresolvedEntry>$1</UnresolvedEntry>
+        </ResolveNames>
+    </soap:Body>
+</soap:Envelope>
+EOF
+
+out=$(curl -s -u "$user:$pass" -L "$url" -d "$data")
+
+readarray -t email < <(echo $out | xpath -q -e '//t:Mailbox/t:EmailAddress/text()')
+readarray -t name  < <(echo $out | xpath -q -e '//t:Contact/t:DisplayName/text()')
+
+count=${#email[@]}
+
+if [[ "$count" -eq 0 ]]; then
+    echo "No matches"
+    exit 1
+fi
+
+echo "$count matches"
+for (( i = 0; i < $count; i++ )); do
+    echo -e "${email[$i]}\t${name[$i]}\t"
+done