2016-02-05 60 views
1

我試圖從Facebook使用FacebookClient API獲取數據。 但是我有時會收到錯誤「無效的JSON字符串」。 奇怪的是,有時我使用相同的任務獲取數據。FacebookClient GetTaskAsync有時會返回無效的JSON字符串(UWP 10)

這是我的代碼

public async void GetData(String AccessToken, String task) 
    { 
     FacebookClient fbclient = new FacebookClient(AccessToken); 
     try { 
      var res = await fbclient.GetTaskAsync(task);//me/feed 
      String data = res.ToString(); 
      /*IDictionary<string, object> o3 = (IDictionary<string, object>)await fbclient.GetTaskAsync(task); 
      JsonObject o2 = (JsonObject) await fbclient.GetTaskAsync(task);*/ 
     } 
     catch (Exception e) 
     { 

     } 
    } 

VAR解析度= ...給出了錯誤。我不知道爲什麼它有時會起作用,而另一次它不起作用。

在此先感謝。

+0

當它說它不是一個有效的json字符串時,它是什麼字符串? – WizKid

+1

感謝您的迴應,它表示NULL我根本沒有收到任何數據。 – denderp

回答

2

SDK最近在Windows 10應用程序(UWP)中停止工作,但在Windows 8.1應用程序中繼續正常工作。

它已在facebook-csharp-sdk的GitHub頁面上報告過。原因是UWP默認更新的HTTP/2協議導致問題。不幸的是,目前還沒有修復。

UPDATEThere is a temporary solution:如果你打開Internet Explorer> Internet選項>高級>禁用HTTP 1.1HTTP 1.1通過代理,則SDK將繼續在UWP,運行工作。顯然這不是問題的真正解決方案,但它讓我們更近一步找到根本原因。

+0

感謝您的回答。 – denderp

+0

如果您發現這個有用,請將我的回答標記爲答案。謝謝。 –

+0

@AndrewAu重新評論,這實際上是一個很好的答案,所以沒有問題添加它作爲答案,這就是它應該是:)但是,一般來說,評論限制是有原因的所以[請看這篇文章]( http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an-i-do-instead/214174#214174)有關你的一些細節可以替代。再次,很好的答案。 –

1

那些在Windows UWP應用程序與Facebook集成上苦苦尋找永久解決方案的人,這裏是一個更新的SDK。

在GitHub上 https://github.com/Microsoft/winsdkfb

在Nuget.org https://www.nuget.org/packages/winsdkfb/

您可以使用Github的SDK或下載從NuGet包一樣。

登錄後,FBSession對象包含用戶可以替換fbclient.GetTaskAsync(「我」)的完整信息。

希望這會有幫助

相關問題