我似乎无法使用批处理程序将活动复制到通知中。我从文档中读到 对于复制活动,TO字段有100个限制,因此我尝试使用批处理器。但它似乎确实有效。我错过了关于文档或代码的内容吗?如果是这样,我如何超过100限制?
$evtConvMention = array();
$evtConvMention[] = "event:{$event->id}";
$evtConvMention[] = "notification:1";
$evtConvMention[] = "notification:2";
$batcher = FeedManager::getClient()->batcher();
$batcher->addToMany([
"actor" => "App\User:{$user->id}",
"verb" => "eventpost",
"object" => "App\EventConversation:{$post->id}",
"foreign_id" => "App\EventConversation:{$post->id}"
], $evtConvMention);
答案 0 :(得分:0)
addToMany()
电话会有类似的限制。当我更多地研究PHP库时,在活动有效负载本身中使用To
字段可能更容易。
$feed = FeedManager::getClient()->feed("event", $event->id);
$now = new \DateTime("now", new \DateTimeZone('Pacific/Nauru'));
$data = [
"actor" => "App\User:{$user->id}",
"verb" => "eventpost",
"object" => "App\EventConversation:{$post->id}",
"foreign_id" => "App\EventConversation:{$post->id}",
"time" => $now
];
$feed->addActivity($data);
我们还强烈建议您在有效负载中发送自己的foreign_id
和time
字段(我在上面的代码中为$now
值添加了一个想法,否则每个Feed将获得自己独特的记录,这是您帐户中的有限资源。
如果您有超过100个通知Feed要将其写入,那么让这些用户“关注”事件Feed可能会更好。那么您根本不需要使用to
字段。