2014-07-14 6 views
0

. NET에서 Google Contacts API의 연락처 항목에 생일을 추가하는 방법에 대해 조금 이해하기 어렵습니다.Google 연락처에 연락처에 생일 추가하기

Dim contact As New Contact 
contact.Name = New Name() 
... 
contact.ContactEntry.Birthday = pushedBirthday 
... 
service.Insert(feedUri, contact) 'Insert using the Contacts API 

지금 때마다 나는 이렇게, 내가 HTTP 400 (잘못된 요청)를 얻을 구글 :

는 지금, 나는 새 연락처 항목을 만드는 오전. 여기에 무슨 일이 일어나고 있는지 잘 모르겠습니다 ... 연락처 API 문서에 표시된 예제는 실제로 생일을 만드는 측면에서 자세히 다루지 않으므로 결과적으로 조금 손실됩니다.

아이디어가 있으십니까?

답변

0

우후! 나는 이것을 알아 냈다. Google의 끝 부분에서 유효하지 않은 스키마이므로 오류가 발생하는 것은 생일에 대한 내 날짜의 서식이었습니다. 여기

내가 알아 낸 방법 : 이것은 기본적으로 XML 표현을 썼다

  Dim st As New System.IO.MemoryStream() 

      newContact.AtomEntry.SaveToXml(st) 

      Dim sw As New System.IO.StreamWriter("C:\test.xml") 
      sw.Write(Encoding.UTF8.GetString(st.ToArray())) 
      sw.Close() 

: 내 코드에서

, 나는 기본적으로이 같은 XML로 연락처 개체를 보려면 아톰 XML 항목을 추출 디스크는 test.xml입니다. 이제는 XML을 살펴보고 생일이있었습니다. 그래서 Google의 OAuth2 놀이터 (https://developers.google.com/oauthplayground/)로 가서 동일한 POST CreateContact 작업을 사용하여 XML 메시지로 전달했습니다.

데이터 유효성 검사에서 데이터 유효 기간은 xs:date입니다. 내 날짜 형식은 MM/dd/yyyy이며 실패했습니다. 대신, 나는 그것을 yyyy-MM-dd으로 바꾸었고 모든 것이 효과가있었습니다!

나는 OAuth2 놀이터를 알지 못했지만 오류가 발생할 때 더 자세한 예외를 얻는 데 매우 유용합니다. :)

관련 문제