Keresés

Új hozzászólás Aktív témák

  • stLhee

    csendes tag

    válasz urandom0 #21814 üzenetére

    A try-catch nem dobott hibát, simán lefutott a lekérdezés. Az említett echo-k nem adtak eredményt, a select-parancs miatt. A harmadik meg hibát dobott nekem, hogy nem létezik ilyen függvény.
    A megoldást a $result object adta, var-dumppal néztem, de print_r-rel ez az eleje:

    Microsoft\Graph\Generated\Models\User Object
    (
    [backingStore:Microsoft\Graph\Generated\Models\Entity:private] => Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore Object
    (
    [isInitializationCompleted:Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore:private] => 1
    [returnOnlyChangedValues:Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore:private] =>
    [store:Microsoft\Kiota\Abstractions\Store\InMemoryBackingStore:private] => Array

    Ez alapján sikerült könyvtárat találni, ami át tudta json stringé konvertálni,

    use Microsoft\Kiota\Serialization\Json\JsonSerializationWriterFactory;
    $writerFactory = new JsonSerializationWriterFactory();
    $writer = $writerFactory->getSerializationWriter('application/json');
    $writer->writeObjectValue(null, $result);
    $jsonString = $writer->getSerializedContent();

    onnan meg már hozzá lehet férni a kért adatokhoz:

    $data = json_decode($jsonString -> getContents(), true);

    Úgyhogy ez a része a dolognak megoldódott, még a multifaktoros property-kre leszek kíváncsi, de az - ahogy láttam - bonyolultabb.
    Köszi a segítséget, sokat segített, hogy lehetett beszélni róla :)

  • stLhee

    csendes tag

    válasz urandom0 #21812 üzenetére

    Igen, ezzel próbálkoztam, itt egy kódrészlet (email-cím alapján megkeresi az M365 felhasználót és három adatát próbálja kinyerni):

    $tokenContext = new ClientCredentialContext( $tenantId, $clientId, $clientSecret);
    $graphClient = new GraphServiceClient($tokenContext, $scopes);
    $requestConfiguration = new UserItemRequestBuilderGetRequestConfiguration();
    $queryParameters = UserItemRequestBuilderGetRequestConfiguration::createQueryParameters();
    $queryParameters->select = ["displayName","UserPrincipalName","OnPremisesImmutableId"];
    $requestConfiguration->queryParameters = $queryParameters;
    $result = $graphClient->users()->byUserId($email)->get($requestConfiguration)->wait();

    Csak válaszként olyan object-et kapok, amiből a kért adatokat nem tudom kicsomagolni. Így nem tudom, hogy az eredeti kérdés esetleg itt vérzik-e el?

  • stLhee

    csendes tag

    Sziasztok!

    Bocs a láma kérdésért: PHP-ből hozzá lehet férni a Microsoft Graph API-ján keresztül egy M365 user extended property-jeihez írásra/olvasásra/megjelenítésre?
    (Más nyelven meg lehet oldani könnyen, igen, de most kifejezetten a php-s megoldás foglalkoztat : )
    Köszi!

Új hozzászólás Aktív témák