Автоматизация аутентификации graph.microsoft.com и чтения почтовых ящиков - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь отладить bash-скрипт, который может запустить Splunk, чтобы войти на outlook.com и прочитать письмо в моем почтовом ящике.

Я создал скрипт bash и протестировал каждую часть, выполнив каждую строку вручную.

#!/bin/bash
#

#
# Get the mailbox name
#
MAILBOX=$1

#
# Verify the mailbox name
#
case $MAILBOX in
    "mine")
         ;;
    "work1")
         ;;
    "work2")
         ;;
    "work3")
         ;;
    *)
         echo "$1 is not a valid mailbox."
         exit 1
         ;;
esac

#
# Set Globals
#
SLEEP_TIME=600

#
# Export the libraries needed for SSL
#
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64

#
# Set the paths
#
BIN_DIR=/home/splunk/bin
MY_MESSAGES=/apps/data/monitored_mailboxes/${1}

#
# Change directory to where $MY_MESSAGES are
#
cd $MY_MESSAGES

#
# Copy last_read.txt to a back up file and set last_read.txt to the far future so it only sets the token
#
mv last_read.txt last_read_backup.txt
echo "2100-01-01 00:00:00+0000" > last_read.txt

#
# Get the token
#
python ${BIN_DIR}/get_inbox_email.py -l ${MY_MESSAGES}/last_read.txt -t ${MY_MESSAGES}/0365_token.txt

#
# Restore the original last_read.txt
#
mv last_read_backup.txt last_read.txt

#
# Loop the python script
#
while true; do
  #
  # Get the current timestamp
  #
  timestamp=`date +'%Y-%m-%d_%H:%M:%S'`

  #
  # Get the messages if any
  #
  python ${BIN_DIR}/get_inbox_email.py -l ${MY_MESSAGES}/last_read.txt -t ${MY_MESSAGES}/0365_token.txt > ${MY_MESSAGES}/messages/mail_${timestamp}.txt

  #
  # Remove old message files
  #
  find ${MY_MESSAGES}/messages -mtime +7 -print

  #
  # Sleep
  #
  sleep $SLEEP_TIME
done

Я ожидаю, что при втором вызове Python будет использоваться токен, созданный в первом вызове Python, но мне снова предлагается открыть URL-адрес аутентификации, а затем вставить URL-адрес электронной почты.

1 Ответ

0 голосов
/ 14 января 2019

Старые уставшие глаза. У меня есть 0365_token.txt вместо o365_token.txt. Когда я заменил это в скрипте bash, я смог запустить его без проблем.

...