使用Open Graph发布到用户的Yammer源

时间:2014-08-03 06:24:03

标签: yammer

我使用活动API和打开的图表成功将活动发布到活动供稿。但是,当我点击用户的名字时,我没有在演员的Yammer提要上看到帖子。我假设活动API也会在那里发布,因为我在文档中读到了:

此活动将显示在Yammer活动流代码(如上所示)中,并将传递给演员,演员的粉丝以及“用户”列表中指定的人

以下是我发布到API的数据。您可以看到我还将演员添加为'用户之一'谁应该得到帖子(看看"private"=>"false"之后)。仍然没有好处。

$text=array("activity"=>
array("actor"=>
array("name"=>$res->user->full_name,
"email"=>$res->user->contact->email_addresses[0]->address),
"action"=>"domain:action",
"object"=>array("url"=>"https://website.com","type"=>"domain:object","title"=>"post"),
"private"=>"false",
"users"=>array("email"=>$res->user->contact->email_addresses[0]->address,"name"=>$res->user->full_name),
"message"=>"my first post"));

$ text然后是json_encoded。这是卷曲电话:

$url="https://www.yammer.com/api/v1/activity.json";
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$jtext);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$accToken,'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);

以下是对上述卷曲请求的回复:

stdClass Object ( [action_id] => xxxxxxxxx [object_id] => xxxxxxxxxxxxxxx [actor_id] => xxxxxxxxxx )

根据我的意见,“活动流帖”工作正常,只是想知道我在用户的Feed上发布了哪些代码(或API调用)。这是用PHP编写的,需要保留在PHP中。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我的问题的解决方案是我没有使用消息API发布到用户的墙上。这是基于当前API规范的代码。我希望这有助于其他人。

注意 - 必须呼叫消息' body'你需要设置' Content-Type:application / json'在标题中:

    $text=array("body"=>"This is a test post");
    $jtext=json_encode($text);
    $url="https://www.yammer.com/api/v1/messages.json";
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$jtext);
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$accToken,'Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $result = curl_exec($ch);