Beispielcode für MsExchangeViaGraph
Pit Meta-Klassen erzeugen
ondisplayfunction
{
if (IsMainMenuContext() && InMetaDataMode())
{
SetForMetadataMode(1);
SetFunctionLabel( "create MsGraph Classes" );
EnableFunction( 1 );
ShowFunction( 1 );
}
}
oncallfunction
{
MsExchangeViaGraphEntity_SetupMetadata();
if (MsExchangeViaGraph_HasLastError())
{
MessageBox("Create MsGraph Metadata failed.\r\n" + MsExchangeViaGraph_GetLastError(), 16);
}
else
{
MessageBox("Create MsGraph Metadata finished successful.", 64);
}
}
Authentifizierung
function void SetMsExchangeAuthenticationViaClientSecret()
{
var int $requestTimeoutSeconds = 120;
var string $tenantId;
var string $clientId;
var string $mailbox;
var string $clientSecret;
$tenantId = "db65e753-xxxx-xxxx-xxxx-02bf858dc7b9";
$clientId = "db65e753-xxxx-xxxx-xxxx-02bf858dc7b9";
$mailbox = "max.mustermann@pit.de";
$clientSecret = "secret_from_azure_portal";
MsExchangeViaGraph_InitializeByClientSecret($tenantId, $clientId, $clientSecret, $mailbox, $requestTimeoutSeconds);
MsExchangeViaGraph_SetLogLevel(1); // -> DEBUG-Informationen ausgeben
}
function void SetMsExchangeAuthenticationViaInteractiveLogin()
{
var int $requestTimeoutSeconds = 120;
var string $tenantId;
var string $clientId;
var string $mailbox;
$tenantId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$clientId = "cccccccc-cccc-cccc-cccc-cccccccccccc";
$mailbox = "max.mustermann@pit.de";
MsExchangeViaGraph_InitializeByInteractiveUserLogin($tenantId, $clientId, $mailbox, $requestTimeoutSeconds);
MsExchangeViaGraph_SetLogLevel(1); // -> DEBUG-Informationen ausgeben
}
E-Mail abrufen
function void LoadIncomingMails()
{
var int $messagescount;
var int $index;
var string $mailid, $from, $to, $cc, $bcc, $attachments, $subject, $bodytype, $bodycontent, $inlineimages;
var time $receivedtime;
SetMsExchangeAuthenticationViaClientSecret();
$messagescount = MsExchangeViaGraph_ReadMessages("inbox", NULL, NULL, 10);
if ($messagescount < 1)
{
if (MsExchangeViaGraph_HasLastError())
{
MessageBox("es sind fehler aufgetreten:\r\n" + MsExchangeViaGraph_GetLastError());
return;
}
MessageBox("keine e-mails vorhanden. count=" + IntToStr($messagescount));
return;
}
$index = 3;
// MsExchangeViaGraph_GetMessage($index, 1, $mailid, $from, $to, $cc, $bcc, $attachments, $subject, $bodytype, $bodycontent, $inlineimages, $receivedtime);
MsExchangeViaGraph_GetMessageWithoutAttachments($index, $mailid, $from, $to, $cc, $bcc, $subject, $bodytype, $bodycontent, $receivedtime);
// hier werden alle fehler seit initialisierung der msgraphclient abgefragt.
if (MsExchangeViaGraph_HasLastError())
{
MessageBox("mail mit index '"+ IntToStr($index)+"' existiert nicht. count="+IntToStr($messagescount));
MessageBox("es sind fehler aufgetreten:\r\n" + MsExchangeViaGraph_GetErrorHistory());
}
else
{
MessageBox("subject: " + $subject);
}
}
letzte Änderung: 06.03.2026