Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Getting Only https scheme with a valid host are supported when calling sites.with_url().get()

Open
#362 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
azure, python
Domain
api

Research direction

Start with the reported get_site() reproduction, especially client.sites.with_url('/sites/example').get(), and trace how that relative URL is passed through the Graph client and authentication flow. Compare the accepted URL forms and add or update coverage so a valid SharePoint site request returns a site object or produces an appropriate error.

Written by the indexing model from the issue text.

Description

question
Reporting an Issue or Missing Feature

When attempting to get a SharePoint site a Kiota authentication error is thrown.

Expected behavior

A site object should be returned.

Actual behavior

The following error is thrown:

kiota_authentication_azure._exceptions.HTTPError: Only https scheme with a valid host are supported
Steps to reproduce behavior
import asyncio
from azure.identity.aio import ClientSecretCredential
from kiota_abstractions.api_error import APIError
from msgraph import GraphServiceClient

#############################################################################################################
#Declare Variables
#############################################################################################################

client_id = ""

client_secret = ""

scopes = ['https://graph.microsoft.com/.default']

tenant_id = ""

#############################################################################################################
#Build Microsoft Graph Client
#############################################################################################################

credentials = ClientSecretCredential(
    client_id = client_id,
    client_secret = client_secret,
    tenant_id = tenant_id,
)

client = GraphServiceClient(
    credentials = credentials,
    scopes = scopes,
)

#############################################################################################################
#Get SharePoint Site
#############################################################################################################

async def get_site():
    try:
        site = await client.sites.with_url('/sites/example').get()
        if site:
            print(site)
    except APIError as api_error:
        print(f'Error: {api_error.error.message}')

asyncio.run(get_site())
Versions
Python 3.10.11
Package                              Version
------------------------------------ ---------
aiohttp                              3.8.5
aiosignal                            1.3.1
anyio                                4.0.0
async-timeout                        4.0.3
attrs                                23.1.0
azure-core                           1.29.4
azure-identity                       1.14.0
certifi                              2023.7.22
cffi                                 1.15.1
charset-normalizer                   3.2.0
cryptography                         41.0.4
Deprecated                           1.2.14
exceptiongroup                       1.1.3
frozenlist                           1.4.0
h11                                  0.14.0
h2                                   4.1.0
hpack                                4.0.0
httpcore                             0.18.0
httpx                                0.25.0
hyperframe                           6.0.1
idna                                 3.4
importlib-metadata                   6.8.0
microsoft-kiota-abstractions         0.8.6
microsoft-kiota-authentication-azure 0.3.0
microsoft-kiota-http                 0.6.1
microsoft-kiota-serialization-json   0.4.0
microsoft-kiota-serialization-text   0.2.1
msal                                 1.24.0
msal-extensions                      1.0.0
msgraph-core                         1.0.0a4
msgraph-sdk                          1.0.0a16
multidict                            6.0.4
opentelemetry-api                    1.20.0
opentelemetry-sdk                    1.20.0
opentelemetry-semantic-conventions   0.41b0
pip                                  23.2.1
portalocker                          2.8.2
pycparser                            2.21
PyJWT                                2.8.0
python-dateutil                      2.8.2
pywin32                              306
requests                             2.31.0
setuptools                           65.5.0
six                                  1.16.0
sniffio                              1.3.0
std-uritemplate                      0.0.42
typing_extensions                    4.8.0
urllib3                              2.0.5
wrapt                                1.15.0
yarl                                 1.9.2
zipp                                 3.17.0
Operating system/environment?
  • Windows
  • Linux
  • MacOS
  • Azure Cloud Shell
  • Azure Functions
  • Other : please specify
Dominant language
Python
Stars
630
Forks
96
Avg merge
15h 20m
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoftgraph/msgraph-sdk-python

All issues in microsoftgraph/msgraph-sdk-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.