gpt4 book ai didi

c# - 为什么 Facebook 发布批处理失败并出现 GraphBatchException - #0?

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:14 32 4
gpt4 key购买 nike

这是我使用来自 NuGet 的 C# Facebook SDK 6.8.0 测试批处理的代码:

var client = new FacebookClient();
client.AppId = application.FacebookAppId;
client.AppSecret = application.FacebookAppSecret;

var batchedRequests = new List<FacebookBatchParameter>();
batchedRequests.Add(new FacebookBatchParameter()
{
HttpMethod = HttpMethod.Post,
Path = "2982XXXXXXXXXX001/feed",
Parameters = new Dictionary<string, object>
{
{"access_token", "CAAK9UGtbUaMBAKX..."},
{"message", "Check out our stuff at Google: " + DateTime.UtcNow.Ticks},
{"link", "http://www.google.com"}
}
});
batchedRequests.Add(new FacebookBatchParameter()
{
HttpMethod = HttpMethod.Post,
Path = "755XXXXXXXXXX21/photos",
Parameters = new Dictionary<string, object>
{
{"access_token", "CAAK9UGtbUaMBAA6..."},
{"message", "Lions, oh my! " + DateTime.UtcNow.Ticks},
{"url", "http://i.imgur.com/DVSsmpa.jpg"}
}
});
batchedRequests.Add(new FacebookBatchParameter()
{
HttpMethod = HttpMethod.Post,
Path = "2982XXXXXXXXXX001/feed", // Same as first
Parameters = new Dictionary<string, object>
{
{"access_token", "CAAK9UGtbUaMBAKX..."}, // Same as first
{"message", "Check out our stuff at Facebook: " + DateTime.UtcNow.Ticks},
{"link", "http://www.facebook.com"}
}
});

var batchedParams = new Dictionary<string, object>();
batchedParams.Add("access_token", defaultPage.PageAccessToken);

dynamic facebookResponse = client.Batch(batchedRequests.ToArray(), batchedParams);

如果我注释掉三个 batchedRequests.Add() 调用中的任何一个,它都可以正常工作。

只有当所有三个都在一起时才会中断。

这是我得到的错误:

Unhandled Exception: Facebook.FacebookApiException: (GraphBatchException - #0) Batch parameter must be a JSON array
at Facebook.FacebookClient.ProcessResponse(HttpHelper httpHelper, String responseString, Type resultType, Boolean containsEtag, IList`1 batchEtags)
at Facebook.FacebookClient.Api(HttpMethod httpMethod, String path, Object parameters, Type resultType)
at Facebook.FacebookClient.Post(String path, Object parameters)
at Facebook.FacebookClient.Post(Object parameters)
at Facebook.FacebookClient.Batch(FacebookBatchParameter[] batchParameters, Object parameters)
at FacebookTest.Program.FacebookBatchTest() in c:\Test\Program.cs:line 81
at FacebookTest.Program.Main(String[] args) in c:\Test\Program.cs:line 23

最佳答案

这是 C# Facebook SDK 的错误。如果总请求超过 999 个字符,则无法正确编码。

https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/issues/315

关于c# - 为什么 Facebook 发布批处理失败并出现 GraphBatchException - #0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26598595/

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