Andrew Arnott는 OpenId 분석기에서 속성 교환 확장 데이터를 추출하는 방법에 대한 게시물을 여기에 있습니다. 여기에 코드 조각입니다 : -DotNetOpenID AX 속성에서 데이터를 추출하려면 어떻게해야합니까?
var fetch = openid.Response.GetExtension<FetchResponse>();
if (fetch != null)
{
IList<string> emailAddresses = fetch.GetAttribute
(WellKnownAttributes.Contact.Email).Values;
IList<string> fullNames = fetch.GetAttribute
(WellKnownAttributes.Name.FullName).Values;
string email = emailAddresses.Count > 0 ? emailAddresses[0] : null;
string fullName = fullNames.Count > 0 ? fullNames[0] : null;
}
나는 다음을 수행하려고 할 때 ...
fetch.GetAttribute(...)
나는 컴파일 오류가 발생합니다. 기본적으로 그것은 존재하지 않습니다. 유일한 (읽기 : 적절한)인가 ... 다음과 같이이 작업을 수행하는 방법
fetch.Attribue[WellKnownAttributes.Contact.Email].Values
환호 :
"올바른"코드가 하나의 AX 값을 가져 오는 것이 얼마나 까다로운지를 보았을 때 FetchResponse 클래스에 도우미 메서드를 추가하도록 동기를 부여했습니다. 그것은 v3.2에있을 것입니다. http://dotnetopenauth.net:8000/ticket/67 –
예. 어제 밤 연장 방법을 추가했습니다. 나는 내 다른 게시물에 게시했습니다. 하지만 당신은 그것을 추가했습니다 :) 내 확장 메서드는 키 매개 변수를 전달하므로 키 매개 변수에서 첫 번째 키의 첫 번째 값을 추출 할 수 있습니다. –
또한 emailAddresses는 항상 인스턴스를 반환합니까? NULL을 반환 할 수 있습니까? –