/ / Incapaz de executar “Facebook Like” de dentro do aplicativo Android - android, facebook-graph-api, facebook-like, facebook-opengraph, facebook-android-sdk

Não foi possível executar o "Facebook Like" no aplicativo Android - android, facebook-graph-api, facebook-like, facebook-opengraph, facebook-android-sdk

De dentro do meu aplicativo Android, estou tentando implementar uma funcionalidade simples de "botão Curtir".

Já executamos o login do Facebook a partir do mesmo aplicativo. Também criamos uma ação Open Graph Like e um objeto Link no painel do nosso aplicativo.

Este é o código que estamos usando para publicar semelhantes.

public static void likeFacebookPage(Context context,String pageUrl)
{
Bundle params = new Bundle();
params.putString("object",pageUrl);
Request request = new Request(
Session.getActiveSession(),
"me/og.likes",
params,
HttpMethod.POST
);
Response response = request.executeAndWait();
// handle the response

}

No URL da página parâmetro, temos:

http://www.facebook.com/<object_id>

"object_id"é o Id do objeto de link que criamos no Open Graph.

Depois de executar o método acima, o objeto de resposta recebeu da seguinte forma:

{Response:  responseCode: 200, graphObject: null, error: {HttpStatus: -1, errorCode: -1, errorType: null, errorMessage: null}, isFromCache:false}

Mas a contagem de curtidas não está sendo atualizada, o que nos leva a crer que esse processo não está funcionando.

Também incluímos as permissões "publish_actions"&"user_likes"em nosso código, bem como no App Dashboard.

Por favor, ajude-nos a configurar essa funcionalidade.

Desde já, obrigado.

Respostas:

0 para resposta № 1

Como descrito aqui https://developers.facebook.com/docs/reference/api/publishing/ você publica um like para um objeto como tal com as permissões publish_actions e publish_stream:

    Bundle postParams = new Bundle();
Request request = new Request(Session.getActiveSession(),
FB_OBJECT_ID+"/likes", postParams, HttpMethod.POST, new Callback() {

@Override
public void onCompleted(Response response) {

}
});
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();

Onde seu FB_OBJECT_ID é simplesmente o ID do objeto. Ou seja, se você quiser curtir uma foto, FB_OBJECT_ID seria o pid. Para um álbum, FB_OBJECT_ID seria a ajuda.