2012-06-24 38 views
3

我想要使用Facebook Android SDK发送好友请求。我目前使用此代码(这是我从here了):如何在Android上使用Facebook对话框发送好友请求?

Bundle parameters = new Bundle(); 
parameters.putString("APP_ID","USERNAME"); 
facebook.dialog(this, "friends", parameters, this); 

其中APP_ID是我的应用程序的Facebook的ID和用户名是我想添加好友的用户名。这导致以下错误:

API Error Code:100 
Invalid parameter 
The parameter id is required 

我以为ID参数意味着APP_ID。

我已经浏览了有关对话框的相关文档,内容是http://developers.facebook.com/docs/reference/dialogs/friends/http://developers.facebook.com/docs/reference/androidsdk/dialog/,但仍然无法弄清楚。

任何帮助表示赞赏。

回答

4

应该是这样的:

Bundle parameters = new Bundle(); 
parameters.putString("id", USER_ID); 
facebook.dialog(this, "friends", parameters, this); 

在情况下this是还实现DialogListener活动。

因为它在文件中说:

app_id - Your application's identifier. Required, but automatically specified by most SDKs.
id - Required. The ID or username of the target user to add as a friend.

+0

'“id”'是参数的名称,'USER_ID'是您在运行时应该放在那里的实际值。 –

1

您可以使用:

WebDialog.RequestsDialogBuilder requestBuilder = (new WebDialog.RequestsDialogBuilder(this, 
       Session.getActiveSession(), params)).setOnCompleteListener(
       new OnCompleteListener() { 

        @Override 
        public void onComplete(Bundle values, 
          FacebookException error) { 
         if (error != null) { 

         } else { 
          final String requestId = values 
            .getString("request"); 
          if (requestId != null) { 
           //if the user completed the action, 
          } else { 

          } 
         } 
        } 

       }); 
     WebDialog requests = requestBuilder.build(); 
     requests.show(); 

如果你想设置的请求预选的朋友只需添加以下到requestBuilder:

requestBuilder.setTo("FRIEND_ID, ANOTHER_FRIEND_ID"),构建对话框之前。

奇怪的是,它接受朋友列表作为串联的id列表,而不是数组或列表。我没有在文档中找到,但只是发现它的工作原理

相关问题