microsoftgraph / microsoftgraph/msgraph-sdk-php
Invalid horizontalSectionLayoutType enum value flexible
まだ誰も着手していません。
- 主要言語
- PHP
- スター
- 669
- フォーク
- 150
- 平均マージ
- 15時間 21分
- マージ済み PR(30日)
- 3
説明
Describe the bug
When loading an expanded canvasLayout using the new flexible layout you get an Invalid enum value flexible exception.
The new flexible layout type is missing from Microsoft\Graph\Generated\Models\HorizontalSectionLayoutType
Expected behavior
Page content is loaded without error
How to reproduce
$requestConfig = new GraphSitePageRequestBuilderGetRequestConfiguration();
$requestConfig->queryParameters = GraphSitePageRequestBuilderGetRequestConfiguration::createQueryParameters();
$requestConfig->queryParameters->select = ['ID', 'canvasLayout'];
$requestConfig->queryParameters->expand = ['canvasLayout'];
$graphServiceClient->sites()->bySiteId(...)->pages()->graphSitePage()->get($requestConfig)->wait()
SDK Version
No response
Latest version known to work for scenario above?
No response
Known Workarounds
No response
Debug output
Click to expand log
InvalidArgumentException {#3210 // app/Integrations/SharePointIntegration.php:653
#message: "Invalid enum value flexible"
#code: 0
#file: "
/var/www/html/vendor
/microsoft/kiota-abstractions/
src/Enum.php"
#line: 57
trace: {
/var/www/html/vendor
/microsoft/kiota-abstractions/
src/Enum.php:57 {
Microsoft\Kiota\Abstractions
Enum->__construct(string $value) …
› if (!self::has($component)) {
› throw new InvalidArgumentException("Invalid enum value $value");
› }
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:170 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getEnumValue(string $targetEnum): Enum …
› }
› return new $targetEnum($this->jsonNode);
› }
}
/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/HorizontalSection.php:63 {
Microsoft\Graph\Generated\Models\HorizontalSection->Microsoft\Graph\Generated\Models
{closure} …
› 'emphasis' => fn(ParseNode $n) => $o->setEmphasis($n->getEnumValue(SectionEmphasisType::class)),
› 'layout' => fn(ParseNode $n) => $o->setLayout($n->getEnumValue(HorizontalSectionLayoutType::class)),
› ]);
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:95 {
Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json
{closure} …
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
› }, array_map(static function ($value) {
}
Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json
{closure}() {}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:94 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getCollectionOfObjectValues(array $type): ?array …
› }
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
}
/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/CanvasLayout.php:35 {
Microsoft\Graph\Generated\Models\CanvasLayout->Microsoft\Graph\Generated\Models
{closure} …
› return array_merge(parent::getFieldDeserializers(), [
› 'horizontalSections' => fn(ParseNode $n) => $o->setHorizontalSections($n->getCollectionOfObjectValues([HorizontalSection::class, 'createFromDiscriminatorValue'])),
› 'verticalSection' => fn(ParseNode $n) => $o->setVerticalSection($n->getObjectValue([VerticalSection::class, 'createFromDiscriminatorValue'])),
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}
/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/SitePage.php:47 {
Microsoft\Graph\Generated\Models\SitePage->Microsoft\Graph\Generated\Models
{closure} …
› return array_merge(parent::getFieldDeserializers(), [
› 'canvasLayout' => fn(ParseNode $n) => $o->setCanvasLayout($n->getObjectValue([CanvasLayout::class, 'createFromDiscriminatorValue'])),
› 'promotionKind' => fn(ParseNode $n) => $o->setPromotionKind($n->getEnumValue(PagePromotionType::class)),
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:95 {
Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json
{closure} …
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
› }, array_map(static function ($value) {
}
Microsoft\Kiota\Serialization\Json\JsonParseNode::Microsoft\Kiota\Serialization\Json
{closure}() {}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:94 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getCollectionOfObjectValues(array $type): ?array …
› }
› $result = array_map(static function ($val) use($type) {
› return $val->getObjectValue($type);
}
/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Models/SitePageCollectionResponse.php:35 {
Microsoft\Graph\Generated\Models\SitePageCollectionResponse->Microsoft\Graph\Generated\Models
{closure} …
› return array_merge(parent::getFieldDeserializers(), [
› 'value' => fn(ParseNode $n) => $o->setValue($n->getCollectionOfObjectValues([SitePage::class, 'createFromDiscriminatorValue'])),
› ]);
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:147 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->assignFieldValues($result): void …
› if ($deserializer !== null) {
› $deserializer(new JsonParseNode($value));
› } else {
}
/var/www/html/vendor
/microsoft/kiota-serialization-json/
src/JsonParseNode.php:120 {
Microsoft\Kiota\Serialization\Json
JsonParseNode->getObjectValue(array $type): Parsable …
› }
› $this->assignFieldValues($result);
› if ($this->getOnAfterAssignFieldValues() !== null){
}
/var/www/html/vendor
/microsoft/kiota-http-guzzle/
src/GuzzleRequestAdapter.php:170 {
Microsoft\Kiota\Http\GuzzleRequestAdapter->Microsoft\Kiota\Http
{closure} …
› $this->setResponseType($targetCallable[0], $span);
› return $rootNode->getObjectValue($targetCallable);
› }
}
/var/www/html/vendor
/php-http/promise/
src/FulfilledPromise.php:39 {
Http\Promise
FulfilledPromise->then(?callable $onFulfilled = null, ?callable $onRejected = null) …
› try {
› return new self($onFulfilled($this->result));
› } catch (\Exception $e) {
}
/var/www/html/vendor
/microsoft/kiota-http-guzzle/
src/GuzzleRequestAdapter.php:145 {
Microsoft\Kiota\Http
GuzzleRequestAdapter->sendAsync(RequestInformation $requestInfo, array $targetCallable, ?array $errorMappings = null): Promise …
› $responseMessage = $this->getHttpResponseMessage($requestInfo, '', $span);
› $finalResponse = $responseMessage->then(
› function (ResponseInterface $result) use ($targetCallable, $requestInfo, $errorMappings, &$span) {
}
/var/www/html/vendor
/microsoft/microsoft-graph/
src/Generated/Sites/Item/Pages/GraphSitePage/GraphSitePageRequestBuilder.php:53 {
Microsoft\Graph\Generated\Sites\Item\Pages\GraphSitePage
GraphSitePageRequestBuilder->get(?GraphSitePageRequestBuilderGetRequestConfiguration $requestConfiguration = null): Promise …
› ];
› return $this->requestAdapter->sendAsync($requestInfo, [SitePageCollectionResponse::class, 'createFromDiscriminatorValue'], $errorMappings);
› }
}
}
}
Configuration
No response
Other information
No response
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Microsoft\Graph\Generated\Models\HorizontalSectionLayoutType と src/Generated/Models/HorizontalSection.php のデシリアライゼーションパスから始めます。issue で説明されている拡張された canvasLayout リクエストを再現し、flexible レイアウトのページを読み込んでも Invalid enum value flexible が発生しなくなったことを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- php
- 領域
- api
- issue の種類
- バグ
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 48/100