英文:
RestFB how to subscribe to webook
问题
我正在尝试复制以下请求(我在Facebook图形资源管理器中详细说明了此请求):
POST /{page_id}/subscribed_apps?subscribed_fields=feed,mention
并附带了页面访问令牌。我从该请求获得的响应是:
{
"success": true
}
如何使用 RestFB 发出相同的请求?到目前为止,我已经得到了以下代码:
FacebookClient client = new DefaultFacebookClient(pageAccessToken, Version.VERSION_8_0);
JsonObject result = client.publish(
String.format("/%s/%s", pageId, "subscribed_apps"),
JsonObject.class,
Parameter.with("subscribed_fields", "feed,mention"));
但我得到的只是:
com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#100) Parameters do not match any fields that can be updated (code 100, subcode null) 'null - null'
请注意,我只提供了代码部分的翻译。
英文:
I'm trying to replicate the following request (which I elaborated with the Facebook graph explorer)
POST /{page_id}/subscribed_apps?subscribed_fields=feed,mention
with it's accompanying page access token. The response I get from that request is
{
"success": true
}
How do I make that same request using RestFB? So far I've managed to come up with:
FacebookClient client = new DefaultFacebookClient(pageAccessToken, Version.VERSION_8_0);
JsonObject result = client.publish(
String.format("/%s/%s", pageId, "subscribed_apps"),
JsonObject.class,
Parameter.with("subscribed_fields", "feed,mention"));
But all I get is:
com.restfb.exception.FacebookOAuthException: Received Facebook error response of type OAuthException: (#100) Parameters do not match any fields that can be updated (code 100, subcode null) 'null - null'
答案1
得分: 1
为了使这更加简单易读,我建议您尝试以下代码:
FacebookClient client = new DefaultFacebookClient(pageAccessToken, Version.LATEST);
GraphResponse result = client.publish("me/subscribed_apps",
GraphResponse.class,
Parameter.with("subscribed_fields","feed,mention"));
if (result.isSuccess()) {
// 进行一些操作
}
这样,您就不需要page id
,也不需要String.format
。页面id已经与页面访问令牌连接在一起,有时这会导致更好的工作结果。
RestFB为这种类型的请求提供了一个特殊的对象,称为GraphResponse
。它是一个简单的对象,提供了一些便捷方法。只要您没有完整的对象返回,比如用户或帖子,这是一种更好的方式
英文:
To make this more easy and readable, I suggest you try this code:
FacebookClient client = ne DefaultFacebookClient(pageAccessToken, Version.LATEST);
GraphResponse result = client.publish("me/subscribed_apps",
GraphResponse.class,
Parameter.with("subscribed_fields","feed,mention"));
if (result.isSuccess()) {
// do some stuff
}
That way, you don't need the page id
and no String.format
. The page id is already connected to the page access token and sometimes this leads to better working results.
RestFB provides a special object for this kind of requests called GraphResponse
. It's a simple object that provides some convenience methods. As long as you don't get a complete object back, like a user or post, this is a better way
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论