0

大家好,我安装了 Teamviewer,希望能够 ping Teamviewer ID 并获得该 PC 状态的响应。

try
{
    string accessToken = "xxxxxxxxxxxxxxxxxxxx";
    string Version = "v1";
    string tvApiUrl = "https://webapi.teamviewer.com";
    string address = tvApiUrl + "/api/" + Version + "/various commands from API";
    HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
    request.Headers.Set("Authorization", "Bearer " + accessToken);
    request.Method = "GET";
    WebResponse response = request.GetResponse();
    return response;
}
catch (Exception ex) 
{
    MessageBox.Show("Failed to get request with error: " + ex.Message);
    return null;
}

这不起作用,因为我没有找到与我在 Teamviewer 中的远程计算机列表相关的任何内容。我想要一种方法来检查我的 Teamviewer 列表中的 PC 是否以编程方式有互联网。提前致谢

4

1 回答 1

1

这可以使用TeamViewer API来实现。

查看“3.10 设备”下的文档:

GET /api/v1/devices(列出计算机和联系人列表中的所有设备)

  • 参数

    • online_state(可选)- 仅返回具有给定 online_state 的设备。
    • groupid(可选)– 仅返回指定组中的联系人。
  • 返回值

    • device_id – 此计算机和联系人列表条目的唯一 ID。值总是以 d 为前缀。
    • remotecontrol_id – 此设备唯一的 ID,可用于启动远程控制会话。
    • groupid – 此设备所属的组的 ID。
    • alias – 当前用户为此设备指定的别名。
    • 描述 – 当前用户为此设备输入的描述。
    • online_state – 设备的当前在线状态。可能的值是:在线、离线。
  • 验证

    • 用户访问令牌。范围:ContactList.Read。
  • 描述
    • 返回用户计算机和联系人列表中的设备列表。
  • 例子

要求

GET /api/v1/devices

回复

HTTP/1.1 200 OK  
   Content-Type: application/json 
 { "devices": [  
      {  
          "remotecontrol_id": "r123456789",  
          "device_id": "d123456789",  
          "alias": "PC",  
          "groupid": "g12345678",  
          "online_state": "Online"  
      },  
      {  
          "remotecontrol_id": "r123456780",  
          "device_id": "d345667567",  
          "alias": "Laptop",  
          "groupid": "g12345678",  
          "online_state": "Offline" 
      },  
      {  
          "remotecontrol_id": "r345678890",  
          "device_id": "d444443226",  
          "alias": "Office",  
          "groupid": "g12345678",  
          "online_state": "Offline" 
      }  
   ] 
}
于 2015-02-06T12:17:04.167 回答