Microsoft의 모호한 API 문서 (outlook.office.com, outlook.office365.com, Microsoft Graph, Azure 등)를 구별하는 데 어려움이 있습니다.Outlook Office REST API에서 연락처 수 얻기 -
연락처를 성공적으로 인증하고 가져 왔지만 페이징을 중단해야하는 횟수를 알 수 없습니다.
내가 사용하고 :
Access Token url:
https://login.microsoftonline.com/common/oauth2/v2.0/token;
Successful Contact url:
https://outlook.office.com/api/v2.0/me/contacts;
그들의 REST API Resource는 단순히 https://outlook.office.com/api/v2.0/me/contacts/$count
에 전화를 걸 수 있어야 말한다 그러나 이것은 몸 -1
과 일반 텍스트 MIME 타입을 반환 유지합니다.
이전에 어떤 일이 벌어지고 있는지 또는 어떤 일이 벌어지고 있는지 알고 있다면 올바른 방향으로 한 점을 알려 주시면 감사하겠습니다.
편집 그의 도움 지원 아래 제이슨에게 감사드립니다. 샌드 박스를 사용하여 나는 다음과 같이 문제를 재현 할 수 있었다 : 내 계정에 로그인
-> 수신 액세스 토큰 ->https://outlook.office.com/api/v2.0/me/contacts/$count
요청 헤더에 GET 호출을 만들어 :
GET https://outlook.office.com/api/v2.0/me/contacts/$count HTTP/1.1
Accept: text/*, application/xml, application/json; odata.metadata=none
User-Agent: PlayGroundAgent/1.0
Authorization: Bearer [standard-access-token]
client-request-id: 8f605[client-id-obscured-for-security]7289
X-AnchorMailbox: [email-address-removed-for-security on stackOverflow]
응답
HTTP/1.1 200 OK
Transfer-Encoding: chunked
request-id: de95eaa8-95a7-40bb-b0f9-ced7270f0433
X-CalculatedBETarget: SN1PR05MB1998.namprd05.prod.outlook.com
X-BackEndHttpStatus: 200
OData-Version: 4.0
X-DiagInfo: SN1PR05MB1998
X-BEServer: SN1PR05MB1998
X-FEServer: SN1PR0501CA0035
X-MSEdge-Ref: Ref A: 657E0491C29D46978D8DD3B01B9F93A3 Ref B: DDDD64A109F4E842A8213F038BFDD5FA Ref C: Fri Aug 19 09:20:05 2016 PST
Cache-Control: private
Date: Fri, 19 Aug 2016 16:20:05 GMT
Set-Cookie: exchangecookie=6ca5fc4df96e458e8b879de61aa574ef; expires=Sat, 19-Aug-2017 16:20:05 GMT; path=/; HttpOnly
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
-1
두 번째 편집 : https://outlook.office.com/api/v2.0/me/contacts?$count=true
은 유효한 연락처 배열을 반환하더라도 @odata.count": -1
을 반환합니다.
3 편집 : 작업 버전 (동일 방법은 위의 오류로 사용) URL이 : https://outlook.office.com/api/v2.0/me/contacts/는 $
요청 헤더를 수 :
GET https://outlook.office.com/api/v2.0/me/contacts/$count HTTP/1.1
Accept: text/*, application/xml, application/json; odata.metadata=none
User-Agent: PlayGroundAgent/1.0
Authorization: Bearer [access-token]
client-request-id: a7954db3-[client-id]-7a6e2e74dd9c
X-AnchorMailbox: [same-email-as-above]
응답를 :
HTTP/1.1 200 OK
Transfer-Encoding: chunked
request-id: 8c5db16b-3023-4968-9bdc-3d5ecac12ecb
X-CalculatedBETarget: SN1PR05MB1998.namprd05.prod.outlook.com
X-BackEndHttpStatus: 200
OData-Version: 4.0
X-DiagInfo: SN1PR05MB1998
X-BEServer: SN1PR05MB1998
X-FEServer: SN1PR0501CA0019
X-MSEdge-Ref: Ref A: 0574E46DB720491FBCEF23B73428F191 Ref B: FA4529229719F069B9D019E4D53E9200 Ref C: Fri Aug 19 09:42:55 2016 PST
Cache-Control: private
Date: Fri, 19 Aug 2016 16:42:55 GMT
Set-Cookie: exchangecookie=63a1de916a4c48be88569f05ce0361a7; expires=Sat, 19-Aug-2017 16:42:55 GMT; path=/; HttpOnly
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
29
도움이 필요하십니까?
감사합니다. 샌드 박스와 동일한 인증 경로 (URL 기반)를 사용하고있는 것처럼 보일 것입니다. 처음 시도했을 때, 그렇습니다. 카운트를 되 돌렸지 만, 두 번의 시도가'-1'을 만들었습니다! 아니, 내 관심사는이 날 전달 뒤로 만, 내가 페이지를 표시하고 싶습니다 제한하는 것이 그이 (가) ... 관련 메모에 는, 페이지 매김을 가진 당신의 도움을 주셔서 감사 실패 트리거 어떤 공통점이 아직 확실하다 사용자가 1 페이지에서 4 페이지로 이동할 수있는 숫자이지만 4 페이지가 실제로 있음을 알아야합니다. – SuperSephy
그래, 그럴 경우 계산이 필요해. 샌드 박스에서 재생산 할 수 있다면 전체 응답 (헤더 포함)을 게시 하시겠습니까? 나는 devs에 의해 그것을 실행하고 싶습니다. –
그래, 좀 안타까워 보인다. 내 응용 프로그램은 약 2 통화에 대한 카운트를 얻은 다음 변경없이 '-1'로 돌아갑니다. 나는 때때로 Sandbox가 실패 할 수도 있습니다. 응답이 너무 길어서 의견을 수정할 수 없으므로 질문을 수정하겠습니다. – SuperSephy