2011-06-18 34 views
2

我正試圖將一個小應用程序,它允許我在Facebook中創建事件。我已經設置了我的Facebook應用程序,並使用下面的代碼通過應用程序成功地測試了我的Feed中的一篇文章。在C#中創建Facebook事件返回#100無效參數

wc.UploadString("https://graph.facebook.com/me/feed", "access_token=" + AccessToken + "&message=" + Message); 

當我試圖將事情推向下一步時,我只是碰到了一堵磚牆。

我寫的代碼是在這裏:

JavaScriptSerializer ser = new JavaScriptSerializer(); 
wc.UploadString("https://graph.facebook.com/me/events?" + "access_token=" + AccessToken, ser.Serialize(rawevent)); 

rawevent是一個小的物體,我寫的是把事件的元素結合在一起,所以我可以通過它在我的應用程序。 我正在使用一個類似的方法,使用ser.Deserialize來解析從Facebook返回的用戶數據,所以我相信這也應該以另一種方式工作。

暫時擱置上面的代碼,我也嘗試過簡單地將各種格式的純文本以及不同級別的參數放在那裏,似乎什麼都不起作用。

我接近這個方法有什麼問題嗎?我已經閱讀了所有我可以掌握的東西,並且只有很少的樣本可以找到創建事件的處理方式,而當他們這樣做時,它們不在C#中。

我將不勝感激任何幫助。如果你甚至只是有一個JSON代碼的乾淨副本,我可以看看,看看我應該調整我的地方,我將不勝感激。

我已經包括了什麼樣的ser.Serialize(rawevent)調用下面產生一個副本:

{"name":"Dev party!","start_time":"1308360696.86778","end_time":"1310952696.86778","location":"my house!"} 

編輯:

得益於以下bronsoja,我用下面的代碼成功地發佈事件到Facebook!

  System.Collections.Specialized.NameValueCollection nvctest = new System.Collections.Specialized.NameValueCollection(); 
      nvctest.Add("name", "test"); 
      nvctest.Add("start_time", "1272718027"); 
      nvctest.Add("end_time", "1272718027"); 
      nvctest.Add("location", "myhouse"); 
      wc.UploadValues("https://graph.facebook.com/me/events?" + "access_token=" + AccessToken, nvctest); 

回答

1

所有在FB文檔圖形API示例的過賬的例子示出了使用捲曲-F,其指示值來發布爲正常形式的數據。就像你在第一個例子中所做的那樣,就像關鍵值對。

該錯誤可能是由於發送JSON引起的。如果您使用的是WebClient,您可以簡單地使用您的數據創建一個NameValueCollection並使用WebClient.UploadValues發送請求。

+0

感謝bronsoja!閱讀您的文章後,我在不到5分鐘的時間內完成了一項測試活動。我已經用我的解決方案更新了我的帖子,以防其他人遇到類似問題。 – viking099

0

我最近發現Facebook返回(#100)無效的參數,當我們試圖發佈數據時,已經有一個具有相同名稱的文件記錄。例如,如果您通過API創建FriendList,並且名稱爲「foo」,則提交另一個相同名稱的相同請求將立即返回該錯誤。

在測試活動中,您可能刪除了「開發者聚會!」事件之後,或者可能因爲您不希望兩個事件發生碰撞而改變時間。但是我想知道如果你重複你的wc.UploadValues(...)語句就像測試一樣,如果你再次看到這個錯誤。您要麼刪除「測試」事件,要麼可能更改名稱,並且沒有注意到具有相同名稱的兩個事件可能會返回錯誤。

這裏真的很糟糕的是,錯誤返回爲OAuthException,這似乎是非常錯誤的。這不是一個身份驗證或授權問題,它純粹是一個數據問題。

Facebook工程師,如果我對這個工作原理是正確的,在這些條件下返回這個錯誤是一個錯誤,而且這個論壇有很多相關混淆的例子。請返回更適當的錯誤。

相關問題