Office365-rest-python-client: كيف يتم تحديث عنصر قائمة واحد؟

تم إنشاؤها على ١٠ مايو ٢٠١٨  ·  4تعليقات  ·  مصدر: vgrem/Office365-REST-Python-Client

أنا أستخدم طريقة تحديث SharePoint listitem.py
item_object.update ()
ولكن كيف يمكنني وضع البيانات التي أريد تحديثها؟ على سبيل المثال:
item_properties = {'__metadata': {'type': 'SP.Data.' + listTitle + 'ListItem'}،
"العنوان": "عنصر جديد"،
"القيمة": 99 ،
}
ثم قم بتحديث العنصر ...

question

التعليق الأكثر فائدة

المثال السابق لا يعمل معي - حصل على 204 رمز استجابة بدون تحديث فعلي.
الطريقة الصحيحة - اضبط خصائص الكائن عبر الطريقة:

# Open list object from portal
ctx_auth = AuthenticationContext(url=sharepoint_site_url)
ctx = ClientContext(sharepoint_site_url, ctx_auth)
target_list = ctx.web.lists.get_by_title(sharepoint_root_folder_name)

# Fetch list item object by id and set it's properties
item = target_list.get_item_by_id(item_id)
item.set_property('Title', 'new-title')
item.set_property('NewItem', '99')

# Update list item object and send request back to portal
item.update()
ctx.execute_query()

ال 4 كومينتر

إذا فهمت بشكل صحيح ، فأنت تريد تحديث كائن تمت مزامنته بالفعل مع Sharepoint. إليك كيف حققت ذلك:

    ctx_auth = AuthenticationContext(url=sharepoint_site_url)
    ctx = ClientContext(sharepoint_site_url, ctx_auth)
    target_list = ctx.web.lists.get_by_title(sharepoint_root_folder_name)

    # Fetch item by id and add properties to it.
    item = target_list.get_item_by_id(item_id)
    item.properties.update({
        "NewItem": "99"
    })
    item.update()
    ctx.execute_query()

المثال السابق لا يعمل معي - حصل على 204 رمز استجابة بدون تحديث فعلي.
الطريقة الصحيحة - اضبط خصائص الكائن عبر الطريقة:

# Open list object from portal
ctx_auth = AuthenticationContext(url=sharepoint_site_url)
ctx = ClientContext(sharepoint_site_url, ctx_auth)
target_list = ctx.web.lists.get_by_title(sharepoint_root_folder_name)

# Fetch list item object by id and set it's properties
item = target_list.get_item_by_id(item_id)
item.set_property('Title', 'new-title')
item.set_property('NewItem', '99')

# Update list item object and send request back to portal
item.update()
ctx.execute_query()

تم الحل بالرقم 146

شكرا لهذه الأمثلة!
أقترح إغلاقه منذ أن تم حله.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات