gpt4 book ai didi

facebook - 来自大型聚合的 Open Graph 引用 URL 非常长

转载 作者:行者123 更新时间:2023-12-02 21:55:26 24 4
gpt4 key购买 nike

在单个用户执行的约 90 个开放图谱操作的大型聚合中,对象 URL 的查询字符串部分非常长(约 8KB)。

这导致我们的服务器崩溃,因为它们没有配置为处理如此长的查询字符串,并且已经增加了允许的最大查询字符串长度,我们认为进一步增加它是不可行的,因为我们不知道这些 URL 将有多大在FB做一些限制他们之前去吧。

最近使用的参数 fb_action_types 似乎已经消失,取而代之的是 action_type_map 和 action_object_map 包括聚合中每个对象的映射。

为了处理这些 URL,我们希望将服务器的 ma​​xQueryStringLength 增加到多大?当它们变得这么大时,是否应该在 POST 中交付?

我已在 Facebook 开发者网站上记录了一个错误,以便他们了解此问题: http://developers.facebook.com/bugs/391678330885746?browse=search_50125698681389e40279519

最佳答案

根据 HTTP/1.1 的 RFC 2616,URL 不应超过 2000 个字符或 255 个字节(查看 What is the maximum length of a URL in different browsers? )。

为什么你的查询字符串这么长?您是否将请求打包或嵌套到单个 URL 中?也许使用强烈的领域扩展?

我建议批量处理您的请求:

http://developers.facebook.com/docs/reference/api/batch/

速度非常快,您可以一次发送 50 个请求。

举个例子:

var batch = new Array();
batch.push({ "method": "GET", "relative_url": "me/friends?limit=5"});
batch.push({ "method": "GET", "relative_url": "me/likes?limit=5"});
var batchData = { 'access_token': access_token, 'batch': JSON.stringify(batch) };
var BASEURL = 'https://graph.facebook.com/';
$.ajax({type: 'POST', url: BASEURL, data: batchData, success: requestSucceeded, error: requestFailed, dataType: 'JSON'});

关于facebook - 来自大型聚合的 Open Graph 引用 URL 非常长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684757/

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