2013-06-13 5 views
1

현재 외부 시스템에서 Google 공유 도메인 연락처로 연락처를로드하는 데 shared_contacts_profiles.py 스크립트를 사용하고 있습니다. 나는 더 많은 프로세스를 자동화하여 기본적인 파이썬 스크립트를 사용하여 (전체 이름과 전자 메일 주소로) 공유 연락처를 만들려고했습니다. 연락처가 생성되지만 디렉토리가 아닌 관리자의 연락처에 추가됩니다.API를 사용하여 Google 공유 연락처 생성 - 연락처가 생성되었지만 공유 디렉토리에는 생성되지 않았습니다.

내 코드

#!/usr/bin/python 
import atom 
import gdata.data 
import gdata.contacts.client 
import gdata.contacts.data 

def main(): 

    admin_email = '[email protected]' 
    admin_password = 'P4ssw0rd' 
    domain_index = admin_email.find('@') 
    domain = admin_email[domain_index+1:] 

    contacts_client = gdata.contacts.client.ContactsClient(domain=domain) 
    contacts_client.client_login(email=admin_email, 
           password=admin_password, 
           source='shared_contacts_profiles', 
           account_type='HOSTED') 

    new_contact = gdata.contacts.data.ContactEntry() 
    new_contact.name = gdata.data.Name(
    full_name=gdata.data.FullName(text='John Doe')) 
    new_contact.email.append(gdata.data.Email(address='[email protected]', 
    primary='true',rel=gdata.data.WORK_REL)) 
    contact_entry = contacts_client.CreateContact(new_contact) 

    print "Contact's ID: %s" % contact_entry.id.text 

if __name__ == '__main__': 
    main() 
나는 매우 간단 뭔가 빠진해야

이지만, 단지 그것이 무엇인지 볼 수 없습니다.

EDIT * shared_contacts_profiles.py는 Google에 일괄 처리를 보낼 때 도메인 연락처 목록을 설정한다고 생각합니다. 추가 할 접촉이 몇 번 밖에 없으므로 배치를 사용하지 않을 것입니다. 또한 일부와 위의 그림과 같이 내가 원래 코드를 사용 결국 데이브

답변

1

을 gdata.contacts.service.ContactsService을 사용하고

감사

을 gdata.contacts.client.ContactsClient하지해야 의심 추가. 공유 된 도메인 연락처 목록에 대한 피드 uri를 가져 와서 CreateContact에 uri를 제공해야했습니다.

feed_url = contacts_client.GetFeedUri(contact_list=domain, projection='full') 

contact_entry = contacts_client.CreateContact(new_contact,insert_uri=feed_url) 

감사

데이브