2

update !important:API变化很大,这个问题不应该再考虑了

我正在尝试使用 REST api(通过Node.js API)来创建用户可以响应的卡片并以这种方式创建交互。

阅读文档creator属性并没有真正在任何地方指定,所以我不知道如何插入它。

这个视频也没有帮助。也不是本指南=)

我相信我应该以某种方式将 URL 设置为回调?我想知道如何获得这些回复,请。

更新

这是我要发送的卡片。

        {
          bundleId: 'veryuniqueBundle',
          id: 'veryuniqueBundle:reply',
          text: "want to hear moar?",
          menuItems: [
            {action: "REPLY"}
          ]
        }

这就是我得到的回应:

{
    "collection": "timeline",
    "itemId": "119c4dc8-c0ce-4a83-aa76-41aab4e8dbe1",
    "operation": "INSERT",
    "verifyToken": "42",
    "userToken": "id:520ef63cde31145deb000001",
    "userActions": [
        {
            "type": "REPLY"
        }
    ]
}

问题是,我看不到用户响应的内容(文本)以及对响应的原始卡 ID(或捆绑包)的引用。我怎样才能得到那些

4

1 回答 1

2

卡片不提供直接回调。相反,当用户选择一个菜单项时,它会导致卡片随着他们的菜单选择而更新。timeline此更改随后会触发对您的订阅的通知 ping 。

按照以下步骤检测菜单项选择:

  1. 订阅timeline集合更改的通知

    {
      "collection": "timeline",
      "userToken": "awesome_kitty",
      "verifyToken": "random_hash_to_verify_referer",
    }
    
  2. 插入带有自定义菜单项的时间线卡

    {
      "text": "Hello world",
      "menuItems": [
        {
          "action": "CUSTOM",
          "id": "complete"
          "values": [{
            "displayName": "Complete",
            "iconUrl": "http://example.com/icons/complete.png"
          }]
        }
      ]
    }
    
  3. 选择玻璃上的项目

  4. 在您的订阅 URL 上接收通知

    {
      "collection": "timeline",
      "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
      "operation": "UPDATE",
      "userToken": "harold_penguin",
      "userActions": [
        {
          "type": "CUSTOM",
          "payload": "PING"
        }
      ]
    }
    
  5. 在你的代码中做一些很酷的事情

  6. ???
  7. 利润
于 2013-08-08T18:16:51.847 回答