2010-07-12 2 views
1

Я написал метод публикации в Twitter с помощью webclient. Все работает нормально при вызове метода из консольного приложения.Публикация в Twitter из приложения Silverlight 4

Я перенес метод в Silverlight 4. Здесь начинается веселье. После очистки кода, перехода на асинхронный вызов метода и избавления от красных squiggled подчеркиваний, код теперь работает внутри моего приложения SL4. Однако твиты не публикуются на моей странице Twitter.

Я подключил обработчик событий для события «_completed». Его увольняют. Также подключен обработчик событий для события «_uploadProgressChanged». Его никогда не увольняют. Может быть, загрузка слишком быстро?

Любые предложения по устранению неполадок?

Обновление # 2- Исправление ... событие "_completed" НЕ УДАЛЯЕТСЯ. Я также добавил Fiddler в микс, чтобы посмотреть трафик. Кажется, приложение ничего не передает. Fiddler действительно показывает активность, если я отправляю в stackoverflow (так работает Fiddler).

public static void PostTwitterUpdate(string handle, string pwd, string tweet) 
{ 
    WebClient webClient = new WebClient(); 

    webClient.Credentials = new NetworkCredential(handle, pwd); 

    Uri uriString = new Uri("http://twitter.com/statuses/update.xml", UriKind.Absolute); 

    try 
    { 
      // event handlers added tongiht for debugging... 
      webClient.UploadProgressChanged += webClient_UploadProgressChanged; 
      webClient.UploadStringCompleted += webClient_UploadStringCompleted; 

      webClient.UploadStringAsync(uriString, "It's just me testing..."); 
    } 

    catch (Exception ex) 
    { 
      throw; 
    } 

} 


static void webClient_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e) 
{ 
    // breakpoint set here for debugging... 
} 




static void webClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e) 
{ 
    // breakpoint set here for debugging... 
} 
+0

Пожалуйста, разместите укороченный код ... –

+0

Правильно ли это подходит для работы с API Twitter? Их документация (http://apiwiki.twitter.com/Twitter-REST-API-Method:-statuses%C2%A0update) указывает на другое, что указывает на необходимость использования OAuth и параметра URL ('status'). – gpmcadam

+0

OAuth рассматривается в будущем. Задача под рукой - отправить чириканье из Silverlight. Первоначально мы разработали его с помощью консольного приложения для простоты. Теперь мы хотим этого в Silverlight. – DenaliHardtail

ответ

1

Это только будет работать в повышенном доверии Нет в браузере приложения, потому что файл политики домена Twitter Крест на http://twitter.com/crossdomain.xml не разрешает вызовы для приложений на основе веб-страниц. Michael

Смежные вопросы