2014-09-03 13 views
0

Я пытаюсь закодировать небольшое приложение с помощью python 2.7 для моей проницательной учетной записи, чтобы получить все контакты с тегом «test».Фильтр OData для дочерних элементов

Я использовал предоставленные образцы кода для экспериментов, и он работает очень хорошо, но только для элементов верхнего уровня.

contacts = i.getContacts(top=200) # returns the top 200 contacts 
contacts = i.getContacts(orderby='FIRST_NAME desc', top=200) # returns the top 200 contacts, with first name descending order 
contacts = i.getContacts(top=200, skip=200) # return 200 records, after skipping the first 200 records 
contacts = i.getContacts(filters=['FIRST_NAME=\'Brian\'']) # get contacts where FIRST_NAME='Brian' 

Я хочу, чтобы получить все контакты с тегом TAG_NAME.

contacts = i.getContacts(filters=['TAG_NAME=\'test\'']) #does not work 

Я не нашел никакого способа достичь своей цели, и был бы вам очень признателен, если бы вы могли мне помочь! :)

Отклик формат тело:

{ 
    "CONTACT_ID": 1, 
    "SALUTATION": "sample string 2", 
    "FIRST_NAME": "sample string 3", 
    "LAST_NAME": "sample string 4", 
    "BACKGROUND": "sample string 5", 
    "IMAGE_URL": "sample string 6", 
    "DEFAULT_LINKED_ORGANISATION": 1, 
    "DATE_CREATED_UTC": "2014-09-03 02:36:08", 
    "DATE_UPDATED_UTC": "2014-09-03 02:36:08", 
    "VISIBLE_TO": "sample string 9", 
    "VISIBLE_TEAM_ID": 1, 
    "VISIBLE_USER_IDS": "sample string 10", 
    "CUSTOMFIELDS": [ 
    { 
     "CUSTOM_FIELD_ID": "sample string 1", 
     "FIELD_VALUE": {} 
    }, 
    { 
     "CUSTOM_FIELD_ID": "sample string 1", 
     "FIELD_VALUE": {} 
    }, 
    { 
     "CUSTOM_FIELD_ID": "sample string 1", 
     "FIELD_VALUE": {} 
    } 
    ], 
    "ADDRESSES": [ 
    { 
     "ADDRESS_ID": 1, 
     "ADDRESS_TYPE": "sample string 1", 
     "STREET": "sample string 2", 
     "CITY": "sample string 3", 
     "STATE": "sample string 4", 
     "POSTCODE": "sample string 5", 
     "COUNTRY": "sample string 6" 
    }, 
    { 
     "ADDRESS_ID": 1, 
     "ADDRESS_TYPE": "sample string 1", 
     "STREET": "sample string 2", 
     "CITY": "sample string 3", 
     "STATE": "sample string 4", 
     "POSTCODE": "sample string 5", 
     "COUNTRY": "sample string 6" 
    }, 
    { 
     "ADDRESS_ID": 1, 
     "ADDRESS_TYPE": "sample string 1", 
     "STREET": "sample string 2", 
     "CITY": "sample string 3", 
     "STATE": "sample string 4", 
     "POSTCODE": "sample string 5", 
     "COUNTRY": "sample string 6" 
    } 
    ], 
    "CONTACTINFOS": [ 
    { 
     "CONTACT_INFO_ID": 1, 
     "TYPE": "sample string 1", 
     "SUBTYPE": "sample string 2", 
     "LABEL": "sample string 3", 
     "DETAIL": "sample string 4" 
    }, 
    { 
     "CONTACT_INFO_ID": 1, 
     "TYPE": "sample string 1", 
     "SUBTYPE": "sample string 2", 
     "LABEL": "sample string 3", 
     "DETAIL": "sample string 4" 
    }, 
    { 
     "CONTACT_INFO_ID": 1, 
     "TYPE": "sample string 1", 
     "SUBTYPE": "sample string 2", 
     "LABEL": "sample string 3", 
     "DETAIL": "sample string 4" 
    } 
    ], 
    "DATES": [ 
    { 
     "DATE_ID": 1, 
     "OCCASION_NAME": "sample string 1", 
     "OCCASION_DATE": "2014-09-03 02:36:08", 
     "REPEAT_YEARLY": true, 
     "CREATE_TASK_YEARLY": true 
    }, 
    { 
     "DATE_ID": 1, 
     "OCCASION_NAME": "sample string 1", 
     "OCCASION_DATE": "2014-09-03 02:36:08", 
     "REPEAT_YEARLY": true, 
     "CREATE_TASK_YEARLY": true 
    }, 
    { 
     "DATE_ID": 1, 
     "OCCASION_NAME": "sample string 1", 
     "OCCASION_DATE": "2014-09-03 02:36:08", 
     "REPEAT_YEARLY": true, 
     "CREATE_TASK_YEARLY": true 
    } 
    ], 
    "TAGS": [ 
    { 
     "TAG_NAME": "sample string 1" 
    }, 
    { 
     "TAG_NAME": "sample string 1" 
    }, 
    { 
     "TAG_NAME": "sample string 1" 
    } 
    ], 
    "LINKS": [ 
    { 
     "LINK_ID": 1, 
     "CONTACT_ID": 1, 
     "OPPORTUNITY_ID": 1, 
     "ORGANISATION_ID": 1, 
     "PROJECT_ID": 1, 
     "SECOND_PROJECT_ID": 1, 
     "SECOND_OPPORTUNITY_ID": 1, 
     "ROLE": "sample string 1", 
     "DETAILS": "sample string 2" 
    }, 
    { 
     "LINK_ID": 1, 
     "CONTACT_ID": 1, 
     "OPPORTUNITY_ID": 1, 
     "ORGANISATION_ID": 1, 
     "PROJECT_ID": 1, 
     "SECOND_PROJECT_ID": 1, 
     "SECOND_OPPORTUNITY_ID": 1, 
     "ROLE": "sample string 1", 
     "DETAILS": "sample string 2" 
    }, 
    { 
     "LINK_ID": 1, 
     "CONTACT_ID": 1, 
     "OPPORTUNITY_ID": 1, 
     "ORGANISATION_ID": 1, 
     "PROJECT_ID": 1, 
     "SECOND_PROJECT_ID": 1, 
     "SECOND_OPPORTUNITY_ID": 1, 
     "ROLE": "sample string 1", 
     "DETAILS": "sample string 2" 
    } 
    ], 
    "CONTACTLINKS": [ 
    { 
     "CONTACT_LINK_ID": 1, 
     "FIRST_CONTACT_ID": 1, 
     "SECOND_CONTACT_ID": 2, 
     "RELATIONSHIP_ID": 3, 
     "DETAILS": "sample string 4" 
    }, 
    { 
     "CONTACT_LINK_ID": 1, 
     "FIRST_CONTACT_ID": 1, 
     "SECOND_CONTACT_ID": 2, 
     "RELATIONSHIP_ID": 3, 
     "DETAILS": "sample string 4" 
    }, 
    { 
     "CONTACT_LINK_ID": 1, 
     "FIRST_CONTACT_ID": 1, 
     "SECOND_CONTACT_ID": 2, 
     "RELATIONSHIP_ID": 3, 
     "DETAILS": "sample string 4" 
    } 
    ], 
    "EMAILLINKS": [ 
    { 
     "EMAIL_LINK_ID": 1, 
     "EMAIL_ID": 2, 
     "CONTACT_ID": 1, 
     "ORGANISATION_ID": 1, 
     "OPPORTUNITY_ID": 1, 
     "PROJECT_ID": 1 
    }, 
    { 
     "EMAIL_LINK_ID": 1, 
     "EMAIL_ID": 2, 
     "CONTACT_ID": 1, 
     "ORGANISATION_ID": 1, 
     "OPPORTUNITY_ID": 1, 
     "PROJECT_ID": 1 
    }, 
    { 
     "EMAIL_LINK_ID": 1, 
     "EMAIL_ID": 2, 
     "CONTACT_ID": 1, 
     "ORGANISATION_ID": 1, 
     "OPPORTUNITY_ID": 1, 
     "PROJECT_ID": 1 
    } 
    ] 
} 

ответ

0

Я не знаком с питоном, но с вашей полезной нагрузки, метками являются свойством коллекции. Поэтому вы не можете просто использовать $ filter = Tags eq '...'. Вы должны использовать lambda-операции any/all для свойств коллекции. Для простого использования любых/всех, пожалуйста, взгляните на OData tutorials - lambda

Смежные вопросы