Вопрос

I am posting to user's wall using following code using restFB.

String myAccessToken = null;
String appId="my app id ......";
String appSecret="my app secret";

// facebook user id of the user on whose wall to post
String userId="user id ...";

DefaultFacebookClient dfc = new DefaultFacebookClient();
AccessToken accessToken = dfc.obtainAppAccessToken(appId,appSecret);
myAccessToken = accessToken.getAccessToken();

FacebookClient facebookClient = new DefaultFacebookClient(myAccessToken);

FacebookType publishMessageResponse = facebookClient.publish(userId+"/feed", FacebookType.class, Parameter.with("message", "test"));

System.out.println("Published message ID: " + publishMessageResponse.getId());

All is working fine.

But now I want to include user's facebook first name in the post. Is there any way to do so? I dont want to generate yet another request to facebook for getting the username, as I am already generating 2 requests for getting user id(from redirect url). Is there any mechanism that graph api itself replaces some kind of tag in the post text with user name.

E.g I send the following text to post on user wall:

#username# is doing something...

And it is replaced by facebook graph api

Mark is doing something....
Это было полезно?

Решение

I dont want to generate yet another request to facebook for getting the username, as I am already generating 2 requests for getting user id(from redirect url).

No you can't. You have to make the request to fetch the name. /me?fields=name

But why does it matter, it'll take very less time to query this.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top