iphone - 从服务器而不是客户端应用程序发布在Facebook墙上

我一直在研究通过fConnect连接到Facebook的iPhone应用程序(与客户端-服务器通信)。 iphone应用程序正在处理facebook身份验证和其他通信,它们都工作正常。

现在,由于一些优化问题,我们希望从服务器端而不是客户端处理应用程序的fb墙贴功能。为了完成我们正在做的任务,是将所有数据(也包括fb访问 token )发送到服务器端,并通过图形api将http发布请求发送到facebook。在响应中,它向我们发送了一个错误:

{"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

最佳答案

您所要做的就是删除以下行:

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

您正在通过图形网址https://graph.facebook.com/610446057传递它

发布到墙上只是做
https://graph.facebook.com/me/feed?access_token=<xxx>

访问 token 是用户给您写在墙上的 token 。当您执行此操作时,它将解析您向谁发送消息,并将所有墙作为授权的应用程序发布。

https://stackoverflow.com/questions/9601451/

相关文章:

jquery - “Uncaught ReferenceError: JQueryValidator

grails - 如何在Grails中将结果分组?

grails - grails编码为html属性

grails - grails g:formatNumber

sql - 将普通 SQL 表添加到 Grails 应用程序而不是使用 ORM?

regex - 如何为包含字母数字和特殊字符的输入编写匹配项

grails - 为用户登录插入审核日志记录条目

grails - 从 map 的特定值的下拉列表中设置值

grails - 在同一个 gsp 页面上使用 3 个布局

grails - g:sortableColumn->执行标记