Hoe een vriendenverzoek verzenden via Facebook-dialogen op Android?

Ik wil een vriendschapsverzoek sturen via de Android-SDK op Facebook. Ik gebruik momenteel deze code (die ik kreeg van hier ) :

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

waarbij APP_ID de Facebook-ID van mijn app is en USERNAME de gebruikersnaam is van de vriend die ik wil toevoegen. Dit leidt tot de volgende fout:

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

Ik dacht dat de id-parameter de APP_ID betekende.

Ik heb de relevante documentatie over dialogen doorgenomen op http://developers.facebook.com/docs/reference/dialogs/friends/ en http://ontwikkelaars .facebook.com/docs/reference/androidsdk/dialog/, maar kan er nog steeds niet achter komen.

Alle hulp wordt gewaardeerd.

3

2 antwoord

Moet zoiets zijn als:

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

In het geval dat dit een activiteit is die ook DialogListener implementeert.

Zoals het zegt in de documentatie:

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.

4
toegevoegd
De "id" is de naam van de parameter en de USER_ID is de actuele waarde die u tijdens runtime hebt die u daar moet plaatsen.
toegevoegd de auteur Nitzan Tomer, de bron

Je kunt gebruiken:

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();

Als je het verzoek wilt instellen op vooraf geselecteerde vrienden, voeg je het volgende toe aan requestBuilder:

requestBuilder.setTo("FRIEND_ID, ANOTHER_FRIEND_ID"), before building the dialog.

Wat vreemd is, is dat het de lijst met vrienden accepteert als een aaneengeschakelde lijst van id's, niet een matrix of lijst. Ik heb het niet gevonden in de documenten, maar heb net ontdekt dat het werkt

1
toegevoegd