2012-03-07 66 views
0

我一直在研究通過fConnect連接到Facebook的iphone應用程序(通過客戶端 - 服務器通信)。 Facebook的身份驗證和其他通信正在iphone應用程序中處理,他們都工作正常。從服務器而不是客戶端應用程序發佈在Facebook牆上

現在,由於一些優化問題,我們希望從服務器端而不是客戶端處理應用程序的fb牆後功能。爲了實現這個任務,我們正在做的是將所有數據(包括fb訪問令牌)發送到服務器端,並通過圖形api向Facebook發送http post請求。在響應其發送我們一個錯誤:

{"error":{"message":"Invalid token: \"610446057\". An ID has already been specified.","type":"OAuthException","code":2500}}

HTTP請求的示例代碼粘貼下面:

HttpClient client = new HttpClient(); 
client.getParams().setParameter("http.useragent", "Test Client"); 

PostMethod method = new PostMethod("https://graph.facebook.com/610446057?access_token=MY_VALID_TOKEN_HERE"); 
method.addParameter("id", "610446057"); 
method.addParameter("name", "Zunair Minhas"); 
method.addParameter("picture", "http://profile.ak.fbcdn.net/hprofile-ak-ash2/276791_19292868552_1958181823_s.jpg"); 
method.addParameter("link", "http://www.google.com.pk"); 
method.addParameter("company_overview", "FB Wall post without fb integration. It is a simple Http Post request."); 
client.executeMethod(method); 

def reader = method.getResponseBodyAsString(); 
String data = reader.readLines().join() 
method.releaseConnection(); 

被寫入該服務器的Grails 2.0.1。

我按照這裏提供的FB後樣品:http://developers.facebook.com/docs/reference/api/

能否請您指導我做錯了嗎?

謝謝。

Zunair Minhas

+1

不要寫你的訪問令牌的SO問題!如果任何人都可以使用它! – thermz 2012-03-07 12:30:47

+0

爲什麼你在URL中使用標記而不是:method.addParameter(「access_token」,「MY_VALID_TOKEN」); ? – thermz 2012-03-07 12:35:49

+0

我也嘗試過這種方法,但效果不好。我收到了早些時候收到的同樣答覆。 – 2012-03-07 14:00:47

回答

1

所有你需要做的就是刪除行:

method.addParameter("id", "610446057"); 

你逝去的是利用圖表URL https://graph.facebook.com/610446057


張貼到牆上只是做

https://graph.facebook.com/me/feed?access_token=<xxx> 

訪問令牌是用戶給你寫在牆上的令牌。當你這樣做時,它會解決你發送消息的人,並將所有的牆壁作爲被授權的應用程序發佈。

+0

我沒有看到你的答案,堆棧溢出刷新錯誤再次罷工:-) – thermz 2012-03-07 12:39:57

+0

我這樣做是因爲它在這裏的例子中提到[鏈接](http://developers.facebook.com/docs/reference/api/ )。但是當我刪除這條線時,我得到這個迴應: '{「error」:{「message」:「(#100)只能在有效的測試用戶上爲你的應用調用此方法」,「type」:「OAuthException」 ,「code」:100}}' 還有更多建議嗎? – 2012-03-07 14:02:38

+0

不幸的是,這個網址並沒有工作。收到同樣的答覆。 :( 我也嘗試通過圖形API瀏覽器在用戶的牆上發佈請求,並且也出現了相同的結果。請問您是否可以驗證我是否缺少任何步驟或任何特殊配置設置? – 2012-03-08 07:41:13

0

你specifing,你已經在URL中的ID

嘗試刪除

method.addParameter("id", "610446057"); 
相關問題