发布在朋友脸书墙上

时间:2011-11-10 11:18:41

标签: android facebook

在我的项目中,我在第一个活动中验证了我的Facebook帐户,并检索了当天生日的朋友ID,姓名,生日和照片。我将它们捆绑到下一个活动中,并在listview中显示图片和名称。当我点击列表时,我想将一些消息发布到他们的墙上。我使用以下代码在朋友墙上发布,同时点击列表视图。

  public static String APP_ID = "my_app_id";
        public static Facebook authenticatedFacebook = new Facebook(APP_ID);

在我的listview onclickitemlistner中,我使用了以下代码。 id_list是一个包含朋友的ID的ArrayList。

try{
                        Bundle parameters = new Bundle();
                        JSONObject attachment = new JSONObject();

                        try {
                            attachment.put("message", "Many more returns of the day");


                        } catch (JSONException e) {
                        }
                        parameters.putString("attachment", attachment.toString());

                        parameters.putString("target_id", id_list.get(position)); 
                        parameters.putString("method", "stream.publish");
                        String  response = authenticatedFacebook.request(parameters);       
                        Log.v("response", response);
                    }
                    catch(Exception e){}

在我的回复中,我获得了无效的API密钥。但是我使用了正确的密钥。

11-10 16:21:53.987: V/response(396): {"error_code":101,"error_msg":"Invalid API key","request_args":[{"key":"method","value":"stream.publish"},{"key":"attachment","value":"{\"message\":\"Many more returns of the day\"}"},{"key":"format","value":"json"},{"key":"target_id","value":"100000635832872"}]}

我使用相同的代码在我的第一个活动中使用检索到的朋友ID进行发布,我在其中验证了我的帐户。它工作正常。但是在我在listview中显示它们的第二个活动中不起作用。我检查了会话是否有效。它导致无效。

2 个答案:

答案 0 :(得分:0)

您是否拥有用户访问令牌?在您提出请求时,我没有看到任何迹象表明您有经过身份验证的用户

答案 1 :(得分:0)

我明白了。只需更改Facebook.java类。将DEFAULT_AUTH_ACTIVITY_CODE更改为FORCE_DIALOG_AUTH。并检查Facebook会话。它适用于我的代码。

相关问题