gpt4 book ai didi

Android facebook 图形批处理 api

转载 作者:太空狗 更新时间:2023-10-29 15:39:40 25 4
gpt4 key购买 nike

我正在尝试使用图形批处理 api,有没有引用代码?我们如何设置参数 ?有没有人引用android应用程序使用batch api

我正在使用 this link我也使用过单独的图形 api,例如

fbApiObj.request("me/notifications");
fbApiObj.request("me/home");fbApiObj.request("me/friends");

我想对它们进行批处理。上面链接中的解释对于如何转换为api调用不是很清楚。

最佳答案

您需要做的是为您的请求构建一个 JSONArray,然后将该 JSONArray 转换为字符串,然后再使用 HTTPS POST 将其发送到服务器。对于每个请求,根据 Facebook API(之前发布的链接)制作一个 JSONObject,然后将所有这些 JSONObjects 添加到一个 JSONArray 中,并使用 Facebook SDK 内置的“openUrl”方法(位于 SDK 内的 Util 类中)。

这是我为测试批处理而构建的一个小示例。

JSONObject me_notifications = new JSONObject();
try {
me_notifications.put("method", "GET");
me_notifications.put("relative_url", "me/notifications");
} catch (JSONException e) {
e.printStackTrace();
Log.e(TAG, e.getMessage());
}

JSONObject me_home = new JSONObject();
try {
me_home.put("method", "GET");
me_home.put("relative_url", "me/home");
} catch (JSONException e) {
e.printStackTrace();
Log.e(TAG, e.getMessage());
}

JSONObject me_friends = new JSONObject();
try {
me_friends.put("method", "GET");
me_friends.put("relative_url", "me/friends");
} catch (JSONException e) {
e.printStackTrace();
Log.e(TAG, e.getMessage());
}

JSONArray batch_array = new JSONArray();
batch_array.put(me_home);
batch_array.put(me_notifications);
batch_array.put(me_friends);

new FacebookBatchWorker(this, mHandler, false).execute(batch_array);

FacebookBatchWorker 只是一个异步任务(只需使用您真正想要的任何线程...)。重要的部分是 HTTPS 请求,我使用了 facebook SDK 中已经可用的请求,就像这样。

“params[0].toString()”是我发送到 AsyncTask 的 JSONArray,我们需要将其转换为字符串以用于实际的发布请求。

/* URL */
String url = GRAPH_BASE_URL;

/* Arguments */
Bundle args = new Bundle();
args.putString("access_token", FacebookHelper.getFacebook().getAccessToken());
args.putString("batch", params[0].toString());

String ret = "";

try {
ret = Util.openUrl(url, "POST", args);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

希望你能从中有所收获...<​​/p>

关于Android facebook 图形批处理 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6379092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com