将curl命令转换为html或vb.net
我试图访问smartsheet API。他们有一个用curl提供的示例代码来访问它。将curl命令转换为html或vb.net
要访问工作表列表,请使用您最喜欢的编程或脚本语言构建HTTPS请求。下面是一个使用来自linux命令行的curl的示例:
curl https://api.smartsheet.com/1.0/sheets \
-H "Authorization: Bearer 0da6cf0d-848c-4266-9b47-cd32a6151b1f" \
-H "Assume-User: john.doe%40smartsheet.com"
如何在vb.net或html表单中执行此操作?
这是一个相当大的主题,但它是最简单的,你可以试试这个...
Imports System.Net
然后......
Dim wHeader As WebHeaderCollection = New WebHeaderCollection()
wHeader.Clear()
wHeader.Add("Authorization: Bearer 0da6cf0d-848c-4266-9b47-cd32a6151b1f")
wHeader.Add("Assume-User: john.doe%40smartsheet.com")
Dim sUrl As String = "https://api.smartsheet.com/1.0/sheets"
Dim wRequest As HttpWebRequest = DirectCast(System.Net.HttpWebRequest.Create(sUrl), HttpWebRequest)
'wRequest.ContentType = "application/json" ' I don't know what your content type is
wRequest.Headers = wHeader
wRequest.Method = "GET"
Dim wResponse As HttpWebResponse = DirectCast(wRequest.GetResponse(), HttpWebResponse)
Dim sResponse As String = ""
Using srRead As New StreamReader(wResponse.GetResponseStream())
sResponse = srRead.ReadToEnd()
End Using
我不熟悉的smartsheet API,但你可以用它作为一个起点。
如果您使用的是代理,你将需要添加...
Dim wProxy As IWebProxy = WebRequest.GetSystemWebProxy()
wProxy.Credentials = System.Net.CredentialCache.DefaultCredentials
并指定代理时,你的请求......
wRequest.Proxy = wProxy
要创建一个Web请求VB.Net,你可以使用HttpWebRequest
类。
卷曲中的-H
argument创建额外的标题。要将标题添加到HttpWebRequest
,只需将它们添加到WebHeaderCollection
Headers
即可。
例子:
Dim myHttpWebRequest = CType(WebRequest.Create("https://api.smartsheet.com/1.0/sheets"), HttpWebRequest)
myHttpWebRequest.Headers.Add("Authorization: Bearer 0da6cf0d-848c-4266-9b47-cd32a6151b1f")
myHttpWebRequest.Headers.Add("Assume-User: john.doe%40smartsheet.com")
Dim myHttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
谢谢dominic,当我尝试你的代码时,我得到了错误远程服务器返回一个错误:(401)未经授权。这是我的身份验证问题吗? – 2013-02-12 16:12:42
这也适用。可悲的是,我只能接受一个答案:(但你rockkkk – 2013-02-12 16:33:07
版本1.0不支持。请使用2.0版 - 例如.../2.0 /表。 – avioing 2016-02-29 22:42:07
谢谢夏兰。当我尝试了你的两个代码时,我收到错误“远程服务器返回错误:(401)未经授权”。这与令牌有关吗? – 2013-02-12 16:13:42
您是未经授权的,我很害怕,即您被拒绝访问。你是否有密码提供在标题以及你的用户?再次查看您的智能表文档并查看您提供凭据的位置 – 2013-02-12 16:19:42
是的,我已经自己生成了令牌并提供了我的电子邮件地址。我已经使用这个文档http://www.smartsheet.com/developers/api-documentation#h.3bqgetcbgx89 – 2013-02-12 16:21:56