SOAP APIでスケジュールを通知なしで登録したい

手動によるスケジュール追加時の通知はしたいので、システム管理設定「予定の公開先への通知設定」は通知するで運用しております。

今回、別システムからのスケジュールを一か月分一気にAPIで登録する案件がありまして登録自体は問題なくできるのですが、通知一覧に大量の予定通知が一度に出てしまい困っております。

APIでは通知なしで予定追加ができるような方法、またはAPI追加分の通知を消すアイディアはないでしょうか…

初めて投稿します。どうぞよろしくお願いします。

この課題、私も解決したいと考えています。

「通知」機能を制御すればできるのでは?と推測し

通知に関するテストプログラムを作って動かしていますが、うまく動かせません。

ネット上のサンプルも少なく、ちょっと手詰まりです。

開発者の皆さんのお知恵をお借り出来ませんでしょうか?

どうぞよろしくお願いします。

本件解決できました!

ひとつのプログラム内に

(1)スケジュール登録(ScheduleAddEvents)するAPIが当該スケジュールの「id」が発行するので、メモリに保存。

→これはAdministratorでsoapヘッダー作成。

(2)「通知」を確認済(NotificationConfirmNotification)にするAPIにメモリ情報を引数で渡し実行する。

→これは被登録ユーザidでsoapヘッダー作成。

で通知がなくなることが確認できました。

運用上の制御はプログラムがかなりむつかしくなるかもしれませんが、頑張れば制御できるのでは

と思います。

調べていただきありがとうございます!

(1)でAdministratorのユーザIDで登録したイベントIDをメモリへ保存して

(2)イベントIDをセットして実行?という事ですかね??

通知を確認済みにする – cybozu developer network 一意のIDがイベントIDになるんでしょうか

wada様

ご返信ありがとうございます。

Garoonのマニュアルをみると「ScheduleAddEvents」APIのレスポンス部分に

<returns> 
  <schedule_event  
    id="46988"

という部分がありますが、schedule event タグの中の「id」要素が

登録したスケジュール番号になるようです。

実際のコード(VBA)でのid取得部分をお見せします。

  ’レスポンスxmlの要素thread内の「属性id」の値を取得し戻り値にセット
For Each elm In objXML.getElementsByTagName(“schedule_event”)
      rtnval = elm.getattribute(“id”)
  Next

これで値を取得し、後続の「NotificationConfirmNotification」APIで

<notification_id module_id=“grn.schedule” item=“ここに指定” /> 

ポストすると通知は消えました。

すみません、一点補足です。

NotificationComfirmNotification APIは

API実行ユーザ自身による実行でないと、通知確認済にできないと

Cybozu社のサポートご担当からコメントをいただいています。

つまり、Administratorではスケジュール登録できても

通知済にするには「当該ユーザ」自身がAPIを実行する必要がある、ということになります。

一括センター処理だけでは本件実現は厳しいかもしれません。

ユーザ自身が操作を意識しないで動かすバッチ処理をユーザごとに仕込む

必要があるように思えました。

美濃部さま

詳細なご説明ありがとうございます!

結論、ユーザー本人のパスワードが取得できた状態でないと実現は不可能、ということですね?

ありがとうございます!!

 

wada様

ご返信ありがとうございます。

ちなみにこちら側では本人が動かすスクリプトを配布し

それぞれで稼働してもらうように計画しています。

それぞれで稼働させることの是非はあると思いますが

vbsでバックで動くようにしてあげる等、工夫はできるかと存じます。

 

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。