2017-12-29 14 views
0

임 outlook.com 언뜻outlook.com에서 마이크로 소프트 그래프 API를 통해 다수의 휴대 전화 번호를 가져옵니다 접촉

https://graph.microsoft.com/beta/me/contacts?$top=10000 

를 통해 내 응용 프로그램으로 계정 내에서 모든 연락처 데이터를 읽으려고이 잘 작동하는 것 같다 그러나 나중에 알게 된 것은 다음과 같습니다.
여러 개의 휴대폰 번호가있는 연락처의 경우 Microsoft는 첫 번째 휴대폰 번호 만 보냅니다. 그래프 v1.0 API 버전

는 단순히 제 2 이동 전화 번호에 대한 필드 없지만, 베타 API는 각 contactphone resource type의 오브젝트의 집합 인 phones 속성을 갖는다. 따라서 여러 개의 휴대폰 번호를 가져올 수 있어야합니다.

API의 버그입니까? 아니면 잘못된 것입니까? 모든 연락처 데이터를 제공하는 다른 API가 있습니까?

편집 :

코멘트 당 요청으로

: 정말 여러 휴대 전화 번호를 의미 : 그것은 다수의 휴대 전화 번호처럼 보이는 outlook.com with multiple mobile phones

+0

일반적으로 전화 번호가 아닌 복수의 휴대 전화 번호를 구체적으로 확인할 수 있습니까? 그렇다면 지원되는지 확실하지 않습니다. 그래프를 통해 여러 연락처를 추가하려고 할 때 다음과 같은 오류가 발생했습니다. { "오류": { "코드": "ErrorInvalidProperty", "메시지": "전화가 여러 값인 경우 연락처 유형 : 연락처 : PhoneNumber : MobilePhone의 너무 많은 항목이 허용되는 최대 수는 1입니다. " "innerError ": { "request-id ":"... ", "date ": "2017-12-29T20 : 07 : 46" } } } –

답변

2

이 그래프를 지원하지 않습니다. v1.0 API에서 각 연락처는 배열이 아닌 mobilePhone 문자열 속성을가집니다. 당신은 다음과 같은 오류 얻을 연락처에 여러 개의 휴대 전화 번호를 추가 할 때 베타 그래프 API에서, 그러나

PATCH https://graph.microsoft.com/beta/me/contacts/{contact-id} 
{ 
    "phones": [ 
     { "number": "1234567891", type: "home"}, 
     { "number": "", type: "mobile"}, 
     { "number": "4564564562", type: "mobile"}, // second mobile number 
    ] 
} 


// Response 

{ 
    "error": { 
     "code": "ErrorInvalidProperty", 
     "message": "The multi-value property Phones has too many entries of the following type: of type: contacts:PhoneNumber:MobilePhone. The maximum number allowed is 1.", 
     "innerError": { 
      "request-id": "578d85ba-e467-47a4-8cc1-5671fde4a83f", 
      "date": "2017-12-29T20:07:46" 
     } 
    } 
} 

을, 당신은 연락처 숫자의 다른 유형이있을 때 하나의 전화에있는 모든 연락처의 모든 전화 번호를 얻을 수 있습니다 - 집, 휴대 전화 등. 나는 이것을 outlook.com 계정으로 테스트했으며 연락처에 여러 전화 번호를 설정하는 API 호출이 있으며 한 번의 API 호출로이 모든 것을 얻을 수 있습니다.

테스트 할 임의의 연락처를 발견하고 ID를 복사 한 후 PATCH 요청을 https://graph.microsoft.com/beta/me/contacts/[contact-id]으로 만들었습니다.

패치 본체 :

{ 
    "phones": [ 
    { "number": "1234567891", type: "home"}, 
    { "number": "", type: "mobile"}, 
    ] 
} 

는 전화가 실제로 업데이트 된 확인하려면, 나는 GET https://graph.microsoft.com/beta/me/contacts/[contact-id]/phones에 요청을 전송하고, 두 개의 전화 번호가 JSON 응답에 반환되었다.

v1.0 끝점에 동일한 요청을 보내는 것은 연락처에 전화 속성이 없으므로 작동하지 않습니다. 그러나이 데이터는 v1.0에서 여러 필드에 걸쳐 분할되어 있기 때문에 계속 얻을 수 있습니다.

enter image description here

그것은 모든 사용자에 대해 GET https://graph.microsoft.com/beta/me/contacts?$select=phones 반환 전화로 요청을 보내는 것 같습니다.

enter image description here

베타 API는 그래서 우리는이 엔드 포인트에 따라 생산 응용 프로그램을 구축하지 않는 것이 좋습니다 변경 될 수 있습니다. 이것이 v1.0으로 옮겨지면 public changelog을 주시하십시오.

그래프 API에서 여러 휴대 전화에 대한 지원을 보려면 UserVoice에 게시하십시오.

+0

감사합니다. 모든 휴대 전화 번호를 가져 오는 다른 API가 있습니까? –