Microsoft Graph API ਈਮੇਲ ਭੇਜਣ ਦੀਆਂ ਤਰੁੱਟੀਆਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ
ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ OrganizationFromTenantGuidNotFound ਗਲਤੀ ਦੇ ਨਾਲ ਇੱਕ ਈਮੇਲ ਭੇਜਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਸਮੇਂ Microsoft Graph API ਨਿਰਾਸ਼ਾਜਨਕ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਇਹ ਨਾਜ਼ੁਕ ਵਰਕਫਲੋ ਨੂੰ ਰੋਕਦਾ ਹੈ। ਇਸ ਤਰੁੱਟੀ ਦਾ ਆਮ ਤੌਰ 'ਤੇ ਮਤਲਬ ਹੈ ਕਿ API ਪ੍ਰਦਾਨ ਕੀਤੇ ਕਿਰਾਏਦਾਰ GUID ਦੇ ਅਧਾਰ 'ਤੇ ਇੱਕ ਵੈਧ ਕਿਰਾਏਦਾਰ ਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾ ਸਕਿਆ।
ਇਹ ਮੁੱਦਾ ਗੁੰਝਲਦਾਰ ਜਾਪਦਾ ਹੈ, ਪਰ ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਸੰਰਚਨਾ ਸੈਟਿੰਗਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਹੁੰਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਤੁਹਾਡੇ ਆਲੇ ਦੁਆਲੇ Azure AD ਕਿਰਾਏਦਾਰ ਸੈੱਟਅੱਪ ਜਾਂ ਪ੍ਰਮਾਣੀਕਰਨ ਵੇਰਵੇ। ਇਹ ਸਮਝਣਾ ਕਿ ਇਸ ਤਰੁੱਟੀ ਨੂੰ ਕੀ ਕਾਰਨ ਬਣਦਾ ਹੈ, ਇਸ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਹੱਲ ਕਰਨ ਦੀ ਕੁੰਜੀ ਹੈ।
ਇਸ ਗਾਈਡ ਵਿੱਚ, ਅਸੀਂ OrganizationFromTenantGuidNotFound ਗਲਤੀ ਦੇ ਆਮ ਕਾਰਨਾਂ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰਨਾ ਹੈ ਬਾਰੇ ਦੱਸਾਂਗੇ। ਅਸੀਂ ਤੁਹਾਡੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੇ ਤਰੀਕੇ ਦੀ ਪੜਚੋਲ ਕਰਾਂਗੇ ਕਿਰਾਏਦਾਰ ਆਈ.ਡੀ, ਪ੍ਰਮਾਣਿਕਤਾ ਪੈਰਾਮੀਟਰਾਂ ਦੀ ਜਾਂਚ ਕਰੋ, ਅਤੇ ਅਧਿਕਾਰਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰੋ।
ਸਹੀ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਕਰਨ ਵਾਲੇ ਕਦਮਾਂ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਆਪਣੀਆਂ API ਕਾਲਾਂ ਨੂੰ ਟਰੈਕ 'ਤੇ ਵਾਪਸ ਲੈ ਸਕਦੇ ਹੋ ਅਤੇ ਨਿਰਵਿਘਨ ਈਮੇਲ ਭੇਜਣ ਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹੋ। ਆਓ ਇਸ ਗਲਤੀ ਦੇ ਕਾਰਨਾਂ ਅਤੇ ਇਸਨੂੰ ਹੱਲ ਕਰਨ ਦੇ ਕਦਮਾਂ ਵਿੱਚ ਡੁਬਕੀ ਕਰੀਏ।
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
GenericProvider | Microsoft Graph API ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਖਾਸ ਤੌਰ 'ਤੇ ਕੌਂਫਿਗਰ ਕੀਤਾ ਇੱਕ OAuth2 ਪ੍ਰਦਾਤਾ ਉਦਾਹਰਨ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਸਾਰੇ OAuth ਵੇਰਵਿਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਕਲਾਇੰਟ ਆਈਡੀ, ਕਲਾਇੰਟ ਸੀਕਰੇਟ, ਰੀਡਾਇਰੈਕਟ URIs, ਅਤੇ Microsoft ਦੇ ਪਛਾਣ ਪਲੇਟਫਾਰਮ ਲਈ ਤਿਆਰ ਕੀਤੇ ਪ੍ਰਮਾਣੀਕਰਨ URLs। |
getAuthorizationUrl() | ਮਾਈਕਰੋਸਾਫਟ ਦੇ ਅਧਿਕਾਰ ਪੰਨੇ ਲਈ ਇੱਕ URL ਤਿਆਰ ਕਰਦਾ ਹੈ, ਜਿੱਥੇ ਉਪਭੋਗਤਾ ਲੌਗ ਇਨ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ ਇਜਾਜ਼ਤਾਂ ਦੇ ਸਕਦੇ ਹਨ। ਇਸ URL ਵਿੱਚ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਲੋੜੀਂਦੀ API ਪਹੁੰਚ ਅਨੁਮਤੀਆਂ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਸਕੋਪ ਅਤੇ ਸਟੇਟ ਪੈਰਾਮੀਟਰ ਸ਼ਾਮਲ ਹਨ। |
http_build_query() | POST ਬੇਨਤੀਆਂ ਲਈ ਬਾਡੀ ਦੀ ਰਚਨਾ ਨੂੰ ਸਰਲ ਬਣਾਉਣ ਲਈ, ਖਾਸ ਤੌਰ 'ਤੇ cURL ਵਿੱਚ, ਜਿੱਥੇ ਖਾਸ ਮਾਪਦੰਡ (ਜਿਵੇਂ ਕਿ grant_type ਅਤੇ ਕਲਾਇੰਟ ਕ੍ਰੇਡੈਂਸ਼ੀਅਲ) URL-ਏਨਕੋਡ ਕੀਤੇ ਅਤੇ ਸਹੀ ਢੰਗ ਨਾਲ ਫਾਰਮੈਟ ਕੀਤੇ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ। |
curl_init() | ਇੱਕ ਨਵਾਂ cURL ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਇਸ ਸੰਦਰਭ ਵਿੱਚ ਟੋਕਨ ਜਨਰੇਸ਼ਨ ਲਈ ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਦੇ ਪ੍ਰਮਾਣਿਕਤਾ ਅੰਤਮ ਬਿੰਦੂ ਨੂੰ ਬੇਨਤੀ ਤਿਆਰ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ, ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਗ੍ਰਾਫ API ਅੰਤਮ ਬਿੰਦੂਆਂ ਨਾਲ ਸਿੱਧੀ ਗੱਲਬਾਤ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। |
curl_setopt() | cURL ਸੈਸ਼ਨ ਵਿਕਲਪਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਇਸ ਸਥਿਤੀ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ ਜਿਵੇਂ ਕਿ ਐਕਸੈਸ ਕੀਤੇ ਜਾਣ ਵਾਲੇ URL, HTTP ਸਿਰਲੇਖ, ਅਤੇ ਬੇਨਤੀ ਦੀ ਕਿਸਮ (ਉਦਾਹਰਨ ਲਈ, POST)। ਇੱਥੇ, ਹਰੇਕ ਵਿਕਲਪ ਨੂੰ ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਗ੍ਰਾਫ API ਦੀਆਂ ਖਾਸ ਬੇਨਤੀ ਜ਼ਰੂਰਤਾਂ ਦੇ ਅਨੁਸਾਰ ਬਣਾਇਆ ਗਿਆ ਹੈ। |
curl_exec() | ਤਿਆਰ ਕੀਤੇ cURL ਸੈਸ਼ਨ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਖਾਸ ਅੰਤਮ ਬਿੰਦੂ 'ਤੇ ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ ਅਤੇ ਜਵਾਬ ਕੈਪਚਰ ਕਰਦਾ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਇੱਥੇ API ਜਵਾਬਾਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ ਲਾਭਦਾਇਕ ਹੈ, ਜਿਵੇਂ ਕਿ ਗਲਤੀ ਸੰਦੇਸ਼ ਜਾਂ ਟੋਕਨ, ਅਸਲ ਸਮੇਂ ਵਿੱਚ। |
base64_encode() | ਬੇਸ64 ਫਾਰਮੈਟ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਏਨਕੋਡ ਕਰਦਾ ਹੈ, ਇੱਥੇ OAuth ਪ੍ਰਵਾਹ ਵਿੱਚ ਸਟੇਟ ਪੈਰਾਮੀਟਰ ਨੂੰ ਏਨਕੋਡ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾ ਕੇ ਵਾਧੂ ਸੁਰੱਖਿਆ ਅਤੇ ਇਕਸਾਰਤਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਕਿ ਸਟੇਟ ਡੇਟਾ ਸੰਚਾਰ ਲਈ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਏਨਕੋਡ ਕੀਤਾ ਗਿਆ ਹੈ। |
assertStringContainsString() | ਇੱਕ ਯੂਨਿਟ ਟੈਸਟ ਦਾਅਵਾ ਜੋ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਦਿੱਤੀ ਗਈ ਸਤਰ (ਜਿਵੇਂ ਕਿ Microsoft ਦੇ ਲੌਗਿਨ ਲਈ ਅਧਾਰ URL) ਪ੍ਰਮਾਣਿਕਤਾ URL ਵਿੱਚ ਮੌਜੂਦ ਹੈ। ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਤਿਆਰ ਕੀਤੇ URLs Microsoft Graph API ਲੋੜਾਂ ਦੇ ਨਾਲ ਇਕਸਾਰ ਹਨ। |
assertNotFalse() | ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ ਕਿ cURL ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਤੋਂ ਜਵਾਬ ਸਫਲ ਹੈ ਅਤੇ ਗਲਤ ਨਹੀਂ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ Microsoft Graph API ਨੂੰ cURL ਬੇਨਤੀ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰੋਸੈਸ ਕੀਤੀ ਗਈ ਸੀ ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਜਾਂ ਕਨੈਕਟੀਵਿਟੀ ਸਮੱਸਿਆਵਾਂ ਦੇ ਕਾਰਨ ਅਸਫਲ ਨਹੀਂ ਹੋਈ ਸੀ। |
ਮਾਈਕਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ ਕਿਰਾਏਦਾਰ ਨਹੀਂ ਲੱਭੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਦੀਆਂ ਹਨ Microsoft Graph API ਈਮੇਲ ਭੇਜਣ ਲਈ: OrganizationFromTenantGuidNotFound ਗਲਤੀ। ਇਹ ਤਰੁੱਟੀ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ API ਦਿੱਤੇ ਕਿਰਾਏਦਾਰ ID ਨਾਲ ਸਬੰਧਤ ਕਿਰਾਏਦਾਰ ਨੂੰ ਲੱਭਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ। ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਅਸੀਂ PHP ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ ਆਮ ਪ੍ਰਦਾਤਾ OAuth2 ਕਲਾਈਂਟ ਪੈਕੇਜ ਤੋਂ ਪ੍ਰਮਾਣਿਕਤਾ ਪ੍ਰਵਾਹ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਕਲਾਸ। GenericProvider ਜ਼ਰੂਰੀ ਹੈ ਕਿਉਂਕਿ ਇਹ Microsoft ਦੇ OAuth2 ਅੰਤਮ ਬਿੰਦੂਆਂ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਦੀ ਗੁੰਝਲਤਾ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ, ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਟੋਕਨਾਂ ਨੂੰ ਅਧਿਕਾਰਤ ਕਰਨ ਅਤੇ ਐਕਸੈਸ ਕਰਨ ਲਈ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣ ਪੱਤਰ, ਕਿਰਾਏਦਾਰ ਆਈਡੀ, ਅਤੇ ਜ਼ਰੂਰੀ URL ਨਿਰਧਾਰਤ ਕਰਨ ਦਿੰਦਾ ਹੈ। ਕੌਂਫਿਗਰੇਸ਼ਨ ਕਲਾਇੰਟ ਆਈਡੀ, ਕਲਾਇੰਟ ਸੀਕਰੇਟ, ਰੀਡਾਇਰੈਕਟ ਯੂਆਰਆਈ, ਅਤੇ ਮਾਈਕਰੋਸਾਫਟ ਦੀ ਪਛਾਣ ਸੇਵਾ ਲਈ ਤਿਆਰ ਕੀਤੇ ਅੰਤਮ ਬਿੰਦੂਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ, ਸੈੱਟਅੱਪ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦੀ ਹੈ।
ਪਹਿਲੀ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ ਪ੍ਰਮਾਣਿਕਤਾ URL ਬਣਾਉਣ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਦੇ ਹਾਂ, ਜਿਸ ਨੂੰ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਲੌਗ ਇਨ ਕਰਨ ਅਤੇ ਈਮੇਲ ਭੇਜਣ ਦੇ ਸਕੋਪਾਂ ਲਈ ਇਜਾਜ਼ਤ ਦੇਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। getAuthorizationUrl ਫੰਕਸ਼ਨ 'openid', 'email', ਅਤੇ 'offline_access' ਵਰਗੇ ਖਾਸ ਸਕੋਪਾਂ ਨਾਲ ਇਸ URL ਨੂੰ ਬਣਾਉਂਦਾ ਹੈ। URL ਵਿੱਚ 'ਸਟੇਟ' ਪੈਰਾਮੀਟਰ, base64_encode ਅਤੇ json_encode ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਸ਼ੈਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਜਾਣਕਾਰੀ ਨੂੰ ਏਨਕੋਡ ਕਰਕੇ ਇੱਕ ਵਾਧੂ ਸੁਰੱਖਿਆ ਪਰਤ ਜੋੜਦਾ ਹੈ। ਇਹ OAuth ਪ੍ਰਵਾਹ ਦੀ ਇਕਸਾਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ, ਕਰਾਸ-ਸਾਈਟ ਬੇਨਤੀ ਜਾਅਲਸਾਜ਼ੀ (CSRF) ਹਮਲਿਆਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ। ਨਤੀਜਾ ਪ੍ਰਮਾਣਿਕਤਾ URL ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ Microsoft ਦੇ ਲੌਗਇਨ ਪੰਨੇ 'ਤੇ ਨਿਰਦੇਸ਼ਤ ਕਰੇਗਾ, ਉਹਨਾਂ ਨੂੰ ਨਿਰਧਾਰਤ ਅਨੁਮਤੀਆਂ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਪ੍ਰੇਰਿਤ ਕਰੇਗਾ। ਸਫਲ ਲੌਗਇਨ ਕਰਨ 'ਤੇ, ਮਾਈਕ੍ਰੋਸਾਫਟ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇੱਕ ਪ੍ਰਮਾਣਿਕਤਾ ਕੋਡ ਦੇ ਨਾਲ ਯੂਆਰਆਈ ਨੂੰ ਰੀਡਾਇਰੈਕਟ ਕਰਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਐਕਸੈਸ ਟੋਕਨ ਲਈ ਬਦਲ ਸਕਦੀ ਹੈ।
ਉਹਨਾਂ ਮਾਮਲਿਆਂ ਲਈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਵਧੇਰੇ ਸਿੱਧੀ ਬੇਨਤੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਦੂਜੀ ਸਕ੍ਰਿਪਟ ਵਰਤਦੀ ਹੈ cURL API ਇੰਟਰੈਕਸ਼ਨ ਲਈ। ਹੱਥੀਂ ਟੋਕਨ ਬੇਨਤੀ ਬਣਾ ਕੇ, ਅਸੀਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਲੋੜ ਨੂੰ ਬਾਈਪਾਸ ਕਰਦੇ ਹਾਂ, ਇਸ ਨੂੰ ਹਲਕੇ ਭਾਰ ਜਾਂ ਟੈਸਟਿੰਗ ਦ੍ਰਿਸ਼ਾਂ ਲਈ ਆਦਰਸ਼ ਬਣਾਉਂਦੇ ਹਾਂ। ਸਕ੍ਰਿਪਟ http_build_query ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ POST ਡੇਟਾ ਦੇ ਤੌਰ ਤੇ client_id, client_secret, ਅਤੇ grant_type ਵਰਗੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਸੈਟ ਅਪ ਕਰਦੀ ਹੈ, ਜੋ ਡੇਟਾ ਨੂੰ URL-ਸੁਰੱਖਿਅਤ ਫਾਰਮੈਟ ਵਿੱਚ ਏਨਕੋਡ ਕਰਦਾ ਹੈ। ਟੋਕਨ ਬੇਨਤੀ ਫਿਰ curl_init ਅਤੇ curl_setopt ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਉਚਿਤ OAuth2 ਐਂਡਪੁਆਇੰਟ 'ਤੇ ਭੇਜੀ ਜਾਂਦੀ ਹੈ, ਹੈਡਰ, HTTP ਵਿਧੀਆਂ, ਅਤੇ ਡਾਟਾ ਖੇਤਰਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। curl_exec ਨੂੰ ਚਲਾਉਣਾ ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ, ਅਤੇ ਨਤੀਜੇ ਵਜੋਂ ਜਵਾਬ (ਐਕਸੈਸ ਟੋਕਨ ਜਾਂ ਗਲਤੀ ਵੇਰਵੇ ਰੱਖਦਾ ਹੈ) ਨੂੰ Microsoft Graph API ਵਿੱਚ ਹੋਰ ਬੇਨਤੀਆਂ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਸੀਂ ਹਰੇਕ ਸਕ੍ਰਿਪਟ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਹੈ। ਪਹਿਲੀ ਯੂਨਿਟ ਟੈਸਟ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਤਿਆਰ ਕੀਤੇ ਪ੍ਰਮਾਣੀਕਰਨ URL ਵਿੱਚ Microsoft ਦਾ ਲੌਗਇਨ ਡੋਮੇਨ ਸ਼ਾਮਲ ਹੈ, URL ਫਾਰਮੈਟ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਇੱਕ ਹੋਰ ਟੈਸਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ cURL ਬੇਨਤੀਆਂ ਅਸਫਲ ਨਹੀਂ ਹੁੰਦੀਆਂ, ਪ੍ਰਮਾਣੀਕਰਨ ਅੰਤਮ ਬਿੰਦੂ ਨਾਲ ਇੱਕ ਸਫਲ ਕੁਨੈਕਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਇਹ ਟੈਸਟ ਇਹ ਵਿਸ਼ਵਾਸ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ ਕਿ ਸੰਰਚਨਾ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈਟ ਕੀਤੀ ਗਈ ਹੈ ਅਤੇ API ਬੇਨਤੀਆਂ ਕਾਰਜਸ਼ੀਲ ਹਨ, ਜੋ ਕਿ ਉਤਪਾਦਨ ਦੇ ਵਾਤਾਵਰਨ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹਨ। ਲਾਇਬ੍ਰੇਰੀ-ਅਧਾਰਿਤ ਅਤੇ ਦਸਤੀ ਬੇਨਤੀਆਂ ਦੋਵਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੁਆਰਾ, ਇਹ ਸਕ੍ਰਿਪਟਾਂ ਅਤੇ ਟੈਸਟ Microsoft ਦੇ ਗ੍ਰਾਫ API ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਮਜ਼ਬੂਤ ਵਿਕਲਪ ਪੇਸ਼ ਕਰਦੇ ਹਨ, ਲਚਕਤਾ, ਗਲਤੀ ਹੈਂਡਲਿੰਗ, ਅਤੇ ਮਾਡਯੂਲਰ ਡਿਜ਼ਾਈਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ ਜੋ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ ਦੇ ਅਨੁਕੂਲ ਹੋ ਸਕਦੇ ਹਨ।
ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਗ੍ਰਾਫ API ਵਿੱਚ ਸੰਗਠਨ ਤੋਂ ਹੈਂਡਲਿੰਗ ਆਰਗੇਨਾਈਜ਼ੇਸ਼ਨ ਫਰਮ ਟੇਨੈਂਟਗਾਈਡ ਨਾਟਫਾਊਂਡ ਗਲਤੀ
GenericProvider ਅਤੇ Microsoft Graph API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ PHP ਸਕ੍ਰਿਪਟ
$provider = new GenericProvider([
'clientId' => $config['microsoft']['clientId'],
'clientSecret' => $config['microsoft']['clientSecret'],
'redirectUri' => $redirectUrl,
'urlAuthorize' => $config['microsoft']['loginBaseUrl'] . "/" . $config['microsoft']['tenantId'] . "/oauth2/v2.0/authorize",
'urlAccessToken' => $config['microsoft']['loginBaseUrl'] . "/" . $config['microsoft']['tenantId'] . "/oauth2/v2.0/token",
'urlResourceOwnerDetails' => "https://graph.microsoft.com/v1.0/me",
]);
$scope = 'openid email profile https://graph.microsoft.com/.default offline_access';
$authUrl = $provider->getAuthorizationUrl([
'scope' => $scope,
'state' => base64_encode(json_encode($state))
]);
ਸਿੱਧੀ API ਬੇਨਤੀ ਲਈ cURL ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਕਲਪਿਕ ਹੱਲ
ਮਾਈਕ੍ਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਬੇਨਤੀ ਭੇਜਣ ਲਈ cURL-ਅਧਾਰਿਤ ਹੱਲ
$tenantId = $config['microsoft']['tenantId'];
$clientId = $config['microsoft']['clientId'];
$clientSecret = $config['microsoft']['clientSecret'];
$url = "https://login.microsoftonline.com/{$tenantId}/oauth2/v2.0/token";
$headers = ['Content-Type: application/x-www-form-urlencoded'];
$body = http_build_query([
'client_id' => $clientId,
'client_secret' => $clientSecret,
'scope' => "https://graph.microsoft.com/.default",
'grant_type' => "client_credentials"
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
ਯੂਨਿਟ ਟੈਸਟਾਂ ਨਾਲ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਜਾਂਚ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ
ਮਾਈਕਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਏਕੀਕਰਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ PHPUnit ਟੈਸਟ
use PHPUnit\Framework\TestCase;
class MicrosoftGraphAPITest extends TestCase {
public function testAuthorizationUrl() {
global $provider, $scope, $state;
$authUrl = $provider->getAuthorizationUrl(['scope' => $scope, 'state' => $state]);
$this->assertStringContainsString("https://login.microsoftonline.com", $authUrl);
}
public function testCurlResponse() {
global $ch;
$response = curl_exec($ch);
$this->assertNotFalse($response);
}
}
ਮਾਈਕ੍ਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਪ੍ਰਮਾਣੀਕਰਨ ਵਿੱਚ ਕਿਰਾਏਦਾਰ GUID ਮੁੱਦਿਆਂ ਨੂੰ ਸਮਝਣਾ
ਦ ਸੰਗਠਨ ਤੋਂ ਟੇਨੈਂਟਗਾਈਡ ਨਾਟਫਾਊਂਡ Microsoft Graph API ਵਿੱਚ ਗਲਤੀ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ API ਬੇਨਤੀ ਦੌਰਾਨ ਨਿਰਧਾਰਤ ਕਿਰਾਏਦਾਰ GUID Azure AD ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਥਿਤ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਅਕਸਰ ਗਲਤ ਸੰਰਚਿਤ ਕਿਰਾਏਦਾਰ ID ਜਾਂ Microsoft Graph API ਏਕੀਕਰਣ ਦੇ ਗਲਤ ਸੈੱਟਅੱਪ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੁੰਦਾ ਹੈ। Microsoft Azure ਵਿੱਚ ਹਰੇਕ ਕਿਰਾਏਦਾਰ ਕੋਲ ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਹੈ ਜਿਸਨੂੰ ਕਿਰਾਏਦਾਰ GUID ਵਜੋਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਬੇਨਤੀਆਂ ਨੂੰ ਸਹੀ ਸੰਗਠਨਾਤਮਕ ਸੰਦਰਭ ਵਿੱਚ ਨਿਰਦੇਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਜੇਕਰ ਕਿਰਾਏਦਾਰ GUID ਅਵੈਧ ਜਾਂ ਗੁੰਮ ਹੈ, ਤਾਂ Microsoft Graph API ਸੰਗਠਨ ਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਪ੍ਰਮਾਣੀਕਰਨ ਅਸਫਲ ਹੁੰਦਾ ਹੈ। API ਬੇਨਤੀਆਂ ਵਿੱਚ ਕਿਰਾਏਦਾਰ GUID ਦੀ ਭੂਮਿਕਾ ਨੂੰ ਸਮਝਣਾ ਅਜਿਹੇ ਮੁੱਦਿਆਂ ਨੂੰ ਜਲਦੀ ਹੱਲ ਕਰਨ ਦੀ ਕੁੰਜੀ ਹੈ।
ਸਹੀ ਸੈੱਟਅੱਪ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਤਸਦੀਕ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ ਕਿਰਾਏਦਾਰ ਆਈ.ਡੀ Azure ਐਕਟਿਵ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਅਤੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨਾ ਕਿ ਇਹ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਸੰਰਚਨਾ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ। ਕਈ ਵਾਰ, ਡਿਵੈਲਪਰ ਗਲਤੀ ਨਾਲ ਕਿਰਾਏਦਾਰ GUID ਦੀ ਬਜਾਏ ਡਾਇਰੈਕਟਰੀ ID ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ ID ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਇਹ ਸਮੱਸਿਆ ਪੈਦਾ ਹੁੰਦੀ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, Microsoft Graph API ਵਿੱਚ ਇੱਕ ਬਹੁ-ਕਿਰਾਏਦਾਰ ਸੈੱਟਅੱਪ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਹੋਰ ਕਿਰਾਏਦਾਰਾਂ ਦੇ ਡੇਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਅਨੁਮਤੀਆਂ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਅਨੁਮਤੀਆਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨ ਜਾਂ ਸਹੀ GUID ਨਿਰਧਾਰਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲਤਾ API ਦੁਆਰਾ ਡੇਟਾ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਜਾਂ ਭੇਜਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵੇਲੇ ਗਲਤੀਆਂ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ।
Azure AD ਦੇ ਅੰਦਰ ਪਹੁੰਚ ਨਿਯੰਤਰਣ ਨੀਤੀਆਂ ਦੀ ਸਮੀਖਿਆ ਕਰਨਾ ਵੀ ਲਾਭਦਾਇਕ ਹੈ, ਕਿਉਂਕਿ ਪ੍ਰਸ਼ਾਸਕ ਉਪਭੋਗਤਾ ਦੀਆਂ ਭੂਮਿਕਾਵਾਂ ਜਾਂ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਦੇ ਅਧਾਰ 'ਤੇ ਕੁਝ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਸੀਮਤ ਕਰ ਸਕਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਕੁਝ ਉਪਭੋਗਤਾਵਾਂ ਕੋਲ ਖਾਸ ਕਾਰਵਾਈਆਂ ਕਰਨ ਲਈ ਅਨੁਮਤੀਆਂ ਦੀ ਘਾਟ ਹੋ ਸਕਦੀ ਹੈ ਜੇਕਰ ਉਹਨਾਂ ਦਾ ਖਾਤਾ ਇੱਕ ਪ੍ਰਤਿਬੰਧਿਤ ਪਹੁੰਚ ਸਮੂਹ ਦਾ ਹਿੱਸਾ ਹੈ। ਇਸ ਲਈ, Azure AD ਦੇ ਅੰਦਰ GUID ਸੈਟਿੰਗਾਂ ਅਤੇ ਰੋਲ ਅਨੁਮਤੀਆਂ ਦੋਵਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਜੇਕਰ ਸਮੱਸਿਆਵਾਂ ਜਾਰੀ ਰਹਿੰਦੀਆਂ ਹਨ, ਤਾਂ ਕਿਰਾਏਦਾਰ ਸੰਰਚਨਾਵਾਂ 'ਤੇ Microsoft ਦੇ ਦਸਤਾਵੇਜ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਬਹੁ-ਕਿਰਾਏਦਾਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਲੋੜਾਂ 'ਤੇ ਵਾਧੂ ਸਪੱਸ਼ਟਤਾ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਉਹਨਾਂ ਤਰੁਟੀਆਂ ਤੋਂ ਬਚਣ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ ਜੋ ਉਹਨਾਂ ਦੇ ਵਰਕਫਲੋ ਵਿੱਚ ਵਿਘਨ ਪਾਉਂਦੀਆਂ ਹਨ।
ਮਾਈਕਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਕਿਰਾਏਦਾਰ ਗਲਤੀਆਂ 'ਤੇ ਆਮ ਸਵਾਲ
- OrganizationFromTenantGuidNotFound ਗਲਤੀ ਦਾ ਕੀ ਅਰਥ ਹੈ?
- ਇਸ ਗਲਤੀ ਦਾ ਮਤਲਬ ਹੈ ਕਿ Microsoft Graph API Azure ਐਕਟਿਵ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਨਿਰਧਾਰਤ ਕਿਰਾਏਦਾਰ ਨੂੰ ਨਹੀਂ ਲੱਭ ਸਕਦਾ। ਇਹ ਇੱਕ ਅਵੈਧ ਜਾਂ ਗੁੰਮ ਕਿਰਾਏਦਾਰ GUID ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ।
- ਮੈਂ Azure AD ਵਿੱਚ ਆਪਣੇ ਕਿਰਾਏਦਾਰ GUID ਦੀ ਪੁਸ਼ਟੀ ਕਿਵੇਂ ਕਰਾਂ?
- ਤੁਸੀਂ Azure ਪੋਰਟਲ ਵਿੱਚ ਲੌਗਇਨ ਕਰਕੇ, Azure ਐਕਟਿਵ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਨੈਵੀਗੇਟ ਕਰਕੇ, ਅਤੇ ਸਹੀ GUID ਲਈ ਕਿਰਾਏਦਾਰ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਕੇ ਕਿਰਾਏਦਾਰ GUID ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦੇ ਹੋ।
- ਕੀ ਗਲਤ ਅਨੁਮਤੀਆਂ OrganizationFromTenantGuidNotFound ਗਲਤੀ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀਆਂ ਹਨ?
- ਹਾਂ, ਨਾਕਾਫ਼ੀ ਅਨੁਮਤੀਆਂ ਕਿਰਾਏਦਾਰ ਤੱਕ ਪਹੁੰਚ ਨੂੰ ਰੋਕ ਸਕਦੀਆਂ ਹਨ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ API ਅਨੁਮਤੀਆਂ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈਟ ਕੀਤੀਆਂ ਅਤੇ ਦਿੱਤੀਆਂ ਗਈਆਂ ਹਨ, ਅਤੇ ਇਹ ਭੂਮਿਕਾਵਾਂ Microsoft Graph API ਲਈ ਲੋੜੀਂਦੇ ਪਹੁੰਚ ਪੱਧਰ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ।
- ਮੈਨੂੰ ਦੀ ਲੋੜ ਕਿਉਂ ਹੈ base64_encode ਮੇਰੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਕਮਾਂਡ?
- ਦ base64_encode ਕਮਾਂਡ OAuth ਬੇਨਤੀਆਂ ਵਿੱਚ ਸਟੇਟ ਡੇਟਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੂਪ ਵਿੱਚ ਏਨਕੋਡ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ, ਕ੍ਰਾਸ-ਸਾਈਟ ਬੇਨਤੀ ਜਾਅਲਸਾਜ਼ੀ (CSRF) ਹਮਲਿਆਂ ਤੋਂ ਸੁਰੱਖਿਆ ਦੀ ਇੱਕ ਵਾਧੂ ਪਰਤ ਜੋੜਦੀ ਹੈ।
- ਜੇਕਰ ਮੈਨੂੰ ਸਹੀ ਕਿਰਾਏਦਾਰ GUID ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਗਲਤੀ ਮਿਲਦੀ ਹੈ ਤਾਂ ਮੈਨੂੰ ਕੀ ਜਾਂਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ?
- GUID ਤੋਂ ਇਲਾਵਾ, ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ Azure AD ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਅਨੁਮਤੀਆਂ Microsoft Graph API ਬੇਨਤੀ ਲਈ ਲੋੜਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਹਨ।
- ਕੀ ਮੈਂ ਕਿਰਾਏਦਾਰ GUID ਨੂੰ ਨਿਰਧਾਰਿਤ ਕੀਤੇ ਬਿਨਾਂ Microsoft Graph API ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਸਿੰਗਲ-ਕਿਰਾਏਦਾਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ, ਕਿਰਾਏਦਾਰ GUID ਨੂੰ ਸਿੱਧਾ ਸੰਰਚਨਾ ਵਿੱਚ ਨਿਰਧਾਰਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਮਲਟੀ-ਕਿਰਾਏਦਾਰ ਐਪਸ ਨੂੰ ਇਸਦੀ ਲੋੜ ਨਹੀਂ ਹੋ ਸਕਦੀ ਜੇਕਰ ਇਜਾਜ਼ਤਾਂ ਅਤੇ ਸੰਰਚਨਾਵਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ।
- ਕਿਵੇਂ ਕਰਦਾ ਹੈ GenericProvider ਮਾਈਕ੍ਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਪ੍ਰਮਾਣਿਕਤਾ ਵਿੱਚ ਮਦਦ?
- ਦ GenericProvider URL ਪ੍ਰਬੰਧਨ ਨੂੰ ਐਬਸਟਰੈਕਟ ਕਰਕੇ ਅਤੇ Microsoft ਦੇ OAuth ਅੰਤਮ ਬਿੰਦੂਆਂ ਲਈ ਤੁਰੰਤ ਸੈੱਟਅੱਪ ਨੂੰ ਸਮਰੱਥ ਕਰਕੇ OAuth2 ਲਾਗੂਕਰਨ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ।
- ਕੀ GenericProvider ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਹੱਥੀਂ ਪਹੁੰਚ ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਕੋਈ ਤਰੀਕਾ ਹੈ?
- ਹਾਂ, ਵਰਤ ਕੇ cURL ਕਮਾਂਡਾਂ ਤੁਹਾਨੂੰ ਮਾਈਕਰੋਸਾਫਟ ਦੇ ਟੋਕਨ ਐਂਡਪੁਆਇੰਟ 'ਤੇ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣ ਪੱਤਰ ਪੋਸਟ ਕਰਕੇ ਹੱਥੀਂ ਪਹੁੰਚ ਟੋਕਨਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ।
- Microsoft Graph API ਲਈ ਆਮ ਪ੍ਰਮਾਣਿਕਤਾ ਸਕੋਪ ਕੀ ਹਨ?
- ਆਮ ਸਕੋਪਾਂ ਵਿੱਚ openid, ਈਮੇਲ, ਪ੍ਰੋਫਾਈਲ, offline_access, ਅਤੇ https://graph.microsoft.com/.default ਸ਼ਾਮਲ ਹਨ, ਜੋ ਵੱਖ-ਵੱਖ ਡਾਟਾ ਪੁਆਇੰਟਾਂ ਅਤੇ ਅਨੁਮਤੀਆਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
- ਜੇਕਰ ਮੇਰੀ CURL ਬੇਨਤੀ ਅਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ ਤਾਂ ਮੈਂ ਸਮੱਸਿਆ ਦਾ ਨਿਪਟਾਰਾ ਕਿਵੇਂ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਜਾਂਚ ਕਰੋ ਕਿ ਸਾਰੇ ਮਾਪਦੰਡ ਸਹੀ ਢੰਗ ਨਾਲ ਫਾਰਮੈਟ ਕੀਤੇ ਗਏ ਹਨ, ਅਤੇ ਸਿਰਲੇਖਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ, ਖਾਸ ਤੌਰ 'ਤੇ ਸਮੱਗਰੀ-ਕਿਸਮ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ API ਨੂੰ ਸਹੀ ਫਾਰਮੈਟ ਵਿੱਚ ਬੇਨਤੀ ਪ੍ਰਾਪਤ ਹੋਈ ਹੈ।
ਮਾਈਕਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਵਿੱਚ ਕਿਰਾਏਦਾਰ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਬਾਰੇ ਅੰਤਿਮ ਵਿਚਾਰ
OrganizationFromTenantGuidNotFound ਵਰਗੀਆਂ ਪ੍ਰਮਾਣਿਕਤਾ ਗਲਤੀਆਂ ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ, ਵਿੱਚ ਸਹੀ ਕਿਰਾਏਦਾਰ ID ਸੰਰਚਨਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹੋਏ Azure ਐਕਟਿਵ ਡਾਇਰੈਕਟਰੀ ਜ਼ਰੂਰੀ ਹੈ। ਇਹ ਅਕਸਰ ਕਨੈਕਟੀਵਿਟੀ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਜਲਦੀ ਹੱਲ ਕਰਦਾ ਹੈ। ਸਹੀ ਪ੍ਰਮਾਣਿਕਤਾ ਸੈਟਅਪ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਫਰਕ ਲਿਆ ਸਕਦਾ ਹੈ।
ਟੈਸਟ ਕੀਤੇ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ, ਜਿਵੇਂ ਕਿ ਆਮ ਪ੍ਰਦਾਤਾ ਜਾਂ cURL, ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਬਹੁ-ਕਿਰਾਏਦਾਰ ਪਹੁੰਚ ਲਈ ਸਹੀ ਅਨੁਮਤੀਆਂ ਅਤੇ ਸੈਟਿੰਗਾਂ ਦਾ ਲਾਭ ਲੈਂਦੇ ਹੋਏ ਨਿਰਵਿਘਨ API ਬੇਨਤੀਆਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਕੇ, ਜ਼ਿਆਦਾਤਰ ਉਪਭੋਗਤਾ ਸਮੱਸਿਆ ਨੂੰ ਜਲਦੀ ਹੱਲ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ Microsoft Graph ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਜਾਰੀ ਰੱਖ ਸਕਦੇ ਹਨ।
ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- Azure ਐਕਟਿਵ ਡਾਇਰੈਕਟਰੀ ਅਤੇ ਕਿਰਾਏਦਾਰ ਕੌਂਫਿਗਰੇਸ਼ਨ ਮੁੱਦਿਆਂ ਦੇ ਨਿਪਟਾਰੇ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਮਾਰਗਦਰਸ਼ਨ। Microsoft Azure ਦਸਤਾਵੇਜ਼
- Microsoft Graph API ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਤਰੁੱਟੀ ਕੋਡਾਂ 'ਤੇ ਵਿਆਪਕ ਦਸਤਾਵੇਜ਼, OrganizationFromTenantGuidNotFound ਸਮੇਤ। ਮਾਈਕਰੋਸਾਫਟ ਗ੍ਰਾਫ API ਗਲਤੀਆਂ
- OAuth2 ਏਕੀਕਰਣ ਅਤੇ PHP ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ GenericProvider ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸਾਂ ਬਾਰੇ ਜਾਣਕਾਰੀ। OAuth2 PHP ਲੀਗ ਦਸਤਾਵੇਜ਼