Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to add existing site column to content typ (ct.field_links.add()) #942

Open
tuesdayMike opened this issue Feb 19, 2025 · 1 comment
Labels

Comments

@tuesdayMike
Copy link

Hi,

I'm struggling to add existing site columns to content type.

Code:
`
field_target = ctx_dest.web.fields.get_by_internal_name_or_title(field.title).execute_query()
print(f" - Mapping Field: {field_target.internal_name} Target-ID: {field_target.id}")

field_links = ct_target.field_links.add(field_target).execute_query()
`
The field_target is found and of type 'office365.sharepoint.fields.field.Field'.

The error is:

`Traceback (most recent call last):
File "/home/joe/.local/lib/python3.10/site-packages/office365/runtime/client_request.py", line 37, in execute_query
response = self.execute_request_direct(request)
File "/home/joe/.local/lib/python3.10/site-packages/office365/runtime/client_request.py", line 101, in execute_request_direct
response.raise_for_status()
File "/usr/lib/python3/dist-packages/requests/models.py", line 943, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://joe.sharepoint.com/sites/Joe_PROD/_api/Web/ContentTypes('0x0100DBB1EA60214E52428BCC389XXXSSSAAA')/FieldLinks

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/joe/reporting/sharepoint_list_mgmt/sp_site_config_reproduce.py", line 189, in
field_link = ct_target.field_links.add(field_target).execute_query()
File "/home/joe/.local/lib/python3.10/site-packages/office365/runtime/client_object.py", line 55, in execute_query
self.context.execute_query()
File "/home/joe/.local/lib/python3.10/site-packages/office365/runtime/client_runtime_context.py", line 173, in execute_query
self.pending_request().execute_query(qry)
File "/home/joe/.local/lib/python3.10/site-packages/office365/runtime/client_request.py", line 41, in execute_query
raise ClientRequestException(*e.args, response=e.response)
office365.runtime.client_request_exception.ClientRequestException: ('-2147024809, System.ArgumentException', "Die Spalte 'Absender' ist nicht vorhanden. Möglicherweise wurde sie von einem anderen Benutzer gelöscht. https://joe.sharepoint.com/sites/Joe_PROD ", "400 Client Error: Bad Request for url: https://joe.sharepoint.com/sites/Joe_PROD/_api/Web/ContentTypes('0x0100DBB1EA60214E52428BCC389XXXSSSAAA')/FieldLinks")
`

@tuesdayMike
Copy link
Author

I tried switching to plain vanilla http requests (SP Rest API) but âlways get to the 404 point. This limitations seems to be the problem:

Site Columns cannot be added to a content type using the REST service.

Source: https://learn.microsoft.com/en-us/previous-versions/office/sharepoint-visio/jj245869(v=office.15)

@vgrem vgrem added the bug label Mar 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants