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 № 1Como 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.