2016-07-28 4 views
4

나는 봇은 마이크로 소프트 봇 프레임 워크와 개발, 그리고 디버그에서 스카이프에 설치 한 후 제대로이미지 업로드는

실행 업로드 이미지 후에 나는이

https://df-apis.skype.com/v2/attachments/0-eus-d4-7e19a097c62f5fc21dd53eabfa19d85e/views/original 
같은 링크가

코드는 매우 간단하고

if ((activity.Attachments != null) && (activity.Attachments.Count > 0)) 
{ 

     analysisResult = await AnalyzeUrl(activity.Attachments[0].ContentUrl); 

} 
........ 

어떻게 내가 보낸 사진을 찾을 수 있습니까 스카이프없이 실행?

var attachment = activity.Attachments?.FirstOrDefault(); 
if (attachment?.ContentUrl != null) 
{ 
    using (var connectorClient = new ConnectorClient(new Uri(activity.ServiceUrl))) 
    { 
     var token = await (connectorClient.Credentials as MicrosoftAppCredentials).GetTokenAsync(); 
     var uri = new Uri(attachment.ContentUrl); 
     using (var httpClient = new HttpClient()) 
     { 
      if (uri.Host.EndsWith("skype.com") && uri.Scheme == Uri.UriSchemeHttps) 
      { 
       httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); 
       httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/octet-stream")); 
      } 
      else 
      { 
       httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(attachment.ContentType)); 
      } 

      var attachmentData = await httpClient.GetByteArrayAsync(uri); 
      analysisResult = await AnalyzeUrl(attachmentData); 
     } 
    }  
} 

대신의 이미지 데이터를 허용하도록 AnalyzeUrl을 변경해야 의미

+0

'AnalyzeUrl'이란 무엇입니까? 그 코드를 공유 할 수 있습니까? –

+0

@MartinKearn AnalyzeUrl은 CognitiveServices를 호출하는 함수로,이 함수는 올바르게 실행됩니다. Skype 보안 정책에 문제가 있다고 생각합니다. – daniele3004

답변

3

this comment에 따르면, 첨부 파일을 가져, GET 요청은 인증 헤더로 봇의 JwtToken를 포함해야 URL. CognitiveServices는 사용중인 이미지 데이터를 받아 들일 수 있다고 생각합니다.