microsoftgraph / microsoftgraph/msgraph-sdk-php
Getting "Invalid enum value unknown" when trying to update mailboxSettings
@timayabi2020 ci sta già lavorando.
Dal 8/8/2024.
- Lingua principale
- PHP
- Stelle
- 669
- Fork
- 150
- Merge medio
- 15h 21m
- PR unite (30g)
- 3
Descrizione
Describe the bug
I am trying to update the mailboxSettings of a user via the following script
$mailboxSettings = new MailboxSettings();
$automaticRepliesSetting = new AutomaticRepliesSetting();
$automaticRepliesSetting->setStatus(new AutomaticRepliesStatus(AutomaticRepliesStatus::DISABLED));
$automaticRepliesSetting->setExternalAudience(new ExternalAudienceScope(ExternalAudienceScope::ALL));
$automaticRepliesSetting->setExternalReplyMessage("I am out of office with limited access to email.");
$automaticRepliesSetting->setInternalReplyMessage("I am out of office with limited access to email.");
$mailboxSettings->setAutomaticRepliesSetting($automaticRepliesSetting);
$response = $msGraph
->getClient()
->users()
->byUserId(<USERID>)
->mailboxSettings()
->patch($mailboxSettings)
->wait();
And I receive the following exception
Exception 'InvalidArgumentException' with message 'Invalid enum value unknown'
in /var/www/html/vendor/microsoft/kiota-abstractions/src/Enum.php:57
Stack trace:
#0 /var/www/html/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(164): Microsoft\Kiota\Abstractions\Enum->__construct('unknown')
#1 /var/www/html/vendor/microsoft/microsoft-graph/src/Generated/Models/MailboxSettings.php(121): Microsoft\Kiota\Serialization\Json\JsonParseNode->getEnumValue('Microsoft\\Graph...')
#2 /var/www/html/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(141): Microsoft\Graph\Generated\Models\MailboxSettings->Microsoft\Graph\Generated\Models\{closure}(Object(Microsoft\Kiota\Serialization\Json\JsonParseNode))
#3 /var/www/html/vendor/microsoft/kiota-serialization-json/src/JsonParseNode.php(114): Microsoft\Kiota\Serialization\Json\JsonParseNode->assignFieldValues(Object(Microsoft\Graph\Generated\Models\MailboxSettings))
#4 /var/www/html/vendor/microsoft/kiota-http-guzzle/src/GuzzleRequestAdapter.php(170): Microsoft\Kiota\Serialization\Json\JsonParseNode->getObjectValue(Array)
#5 /var/www/html/vendor/php-http/promise/src/FulfilledPromise.php(39): Microsoft\Kiota\Http\GuzzleRequestAdapter->Microsoft\Kiota\Http\{closure}(Object(GuzzleHttp\Psr7\Response))
#6 /var/www/html/vendor/microsoft/kiota-http-guzzle/src/GuzzleRequestAdapter.php(145): Http\Promise\FulfilledPromise->then(Object(Closure))
#7 /var/www/html/vendor/microsoft/microsoft-graph/src/Generated/Users/Item/MailboxSettings/MailboxSettingsRequestBuilder.php(59): Microsoft\Kiota\Http\GuzzleRequestAdapter->sendAsync(Object(Microsoft\Kiota\Abstractions\RequestInformation), Array, Array)
#8 /var/www/html/commands/OutOfOfficeController.php(99): Microsoft\Graph\Generated\Users\Item\MailboxSettings\MailboxSettingsRequestBuilder->patch(Object(Microsoft\Graph\Generated\Models\MailboxSettings))
MailboxSettings.php(121) -> points to UserPurpose which is a readonly value and shouldn't be set.
If a try to set it
e.g.
$mailboxSettings->setUserPurpose(new UserPurpose(UserPurpose::ROOM));
I get the error, the property 'userPurpose' was specified but is not supported with this request.
Expected behavior
The request to succeed without having to call setSserPurpose property
How to reproduce
Execute the above script
SDK Version
2.12.0
Latest version known to work for scenario above?
No response
Known Workarounds
Use msgraph-sdk-php-core and execute the request manually ie
$httpClient = GraphClientFactory::createWithConfig($config);
$response = $httpClient->patch(
'/v1.0/users/<USER-ID>/mailboxSettings',
[
'json' => [
'automaticRepliesSetting' => [
"externalAudience"=> "all",
"status" => "disabled"
]
]
]
);
Debug output
Click to expand log
```</details>
### Configuration
PHP 8.3
### Other information
_No response_
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Valutazione
Questa issue non è ancora stata valutata.