Skip to content

Instantly share code, notes, and snippets.

View maisarissi's full-sized avatar

Maísa Rissi maisarissi

  • São Paulo, Brazil
  • 04:47 (UTC -03:00)
View GitHub Profile
@maisarissi
maisarissi / Pagination.java
Last active December 12, 2023 15:04
microsoftgraph-java-v6-pagination
// Get the messages
MessageCollectionResponse messages = graphClient.me().messages().get();
// Instantiate collection to store all messgaes
List<Message> messagesList = new LinkedList<Message>();
// Configure iterator
PageIterator iterator = new PageIterator.Builder<Message, MessageCollectionResponse>()
.client(graphClient)
.collectionPage(messages)
@maisarissi
maisarissi / batch_collection.go
Created May 4, 2023 16:16
microsoftgraph-go-v1-batch-collection
messagesIds := [100]string{"messageId2", "messageId2"} // collection of message ids
batchCollection := msgraphgocore.NewBatchRequestCollection(client.GetAdapter())
for _, messageId := range messagesIds {
deleteReq, err := client.Me().MailFolders().ByMailFolderId("Inbox").Messages().ByMessageId(messageId).ToDeleteRequestInformation(context.Background(), nil)
if err != nil {
return err
}
_, err = batchCollection.AddBatchRequestStep(*deleteReq)
if err != nil {
@maisarissi
maisarissi / batch_with_dependent_request.go
Created May 4, 2023 16:13
microsoftgraph-go-v1-batch-dependent-request
meRequest, err := client.Me().ToGetRequestInformation(context.Background(), nil)
if err != nil {
return err
}
mePhoto, err := client.Me().Photo().ToGetRequestInformation(context.Background(), nil)
if err != nil {
return err
}
@maisarissi
maisarissi / get_me.go
Last active May 4, 2023 19:56
microsoftgraph-go-v1-get-me
scopes := []string{"Mail.Read", "Mail.Send", "User.Read"}
// Create the device code credential
credential, _ := azidentity.NewDeviceCodeCredential(&azidentity.DeviceCodeCredentialOptions{
ClientID: "app_id",
TenantID: "tenant_id",
UserPrompt: func(ctx context.Context, message azidentity.DeviceCodeMessage) error {
fmt.Println(message.Message)
return nil
},
})
@maisarissi
maisarissi / pagination.go
Created May 2, 2023 20:32
microsoftgraph-go-v1-pagination
result, _ := g.userClient.Me().Messages().Get(context.Background(), &requestConfiguration)
    // Initialize iterator
    pageIterator, _ := msgraphcore.NewPageIterator[models.Message](result, g.userClient.GetAdapter(), models.CreateMessageCollectionResponseFromDiscriminatorValue)
    // Any custom headers sent in original request should also be added
    // to the iterator
    pageIterator.SetHeaders(headers)
    // Iterate over all pages
@maisarissi
maisarissi / devicecodeflow.go
Created May 2, 2023 20:30
microsoftgraph-go-v1-devicecodeflow
import (
    "context"
    "fmt"
    "log"
    "os"
    "strings"
    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    auth "github.com/microsoft/kiota-authentication-azure-go"
    msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
@maisarissi
maisarissi / v1_and_beta_clients.go
Created May 2, 2023 20:26
microsoftgraph-go-v1-both_clients
import (
    "context"
    "fmt"
    "log"
    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    auth "github.com/microsoft/kiota-authentication-azure-go"
    msgraphbeta "github.com/microsoftgraph/msgraph-beta-sdk-go"
    msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
)
@maisarissi
maisarissi / messages_inbox.go
Created May 2, 2023 20:21
microsoftgraph-go-v1-messages-inbox
messages, err := client.Me().MailFolders().ByMailFolderId("Inbox").Messages().Get(context.Background(), nil)
@maisarissi
maisarissi / send_mail.go
Created May 2, 2023 20:19
microsoftgraph-go-v1-send-mail
func (g *GraphHelper) SendMail() error {
message := models.NewMessage()
subject := "Meet for lunch?"
content := "The new cafeteria is open."
body := models.NewItemBody()
message.SetSubject(&subject)
message.SetBody(body)
contentType := models.TEXT_BODYTYPE
body.SetContentType(&contentType)
@maisarissi
maisarissi / MethodNameSimplified.cs
Last active March 2, 2023 17:52
msgraph-dotnet-v5-method-parameter-object
//var message = ....
//var saveToSentItems = ...
var body = new SendMailPostRequestBody
{
    Message = message,
    SaveToSentItems = saveToSentItems
};
await graphServiceClient.Me
    .SendMail //method SendMail