2012-03-15 40 views
1

有誰知道是否有使用Visual Basic連接到Box.com文檔的示例代碼?使用Visual Basic訪問Box.com文件

我們有一些精心製作的VB Excel宏,可以從各種文件中提取數據。現在我們已經切換到使用box.com作爲我們的文件系統,我們希望這些宏能夠將所需數據讀/寫到存儲在Box.com中的文件中。

回答

2

下面是上傳在VBScript一個文件箱一些示例代碼:

api_key = "Your API key from Box.net" 
BoxNetUserName = "Your Box.net username" 
BoxNetPwd = "Your Box.net Password" 

UploadFileBoxNet("c:\coupons.pdf") 

Function UploadFileBoxNet(filePath) 

Print filepath 

    Set WinHttpReq = CreateObject("Msxml2.ServerXMLHTTP") 

'**********Requesting Ticket 
    strURL = "https://www.box.net/api/1.0/rest?action=get_ticket&api_key=" & api_key 
    temp = WinHttpReq.Open("POST", strURL, false) 
    WinHttpReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
    WinHttpReq.Send() 
    getTicket = WinHttpReq.ResponseText 
    Print strURL 
    Print getTicket 
'**********Extracting Ticket from XML Response******** 
    getTicket = Left(getTicket,Len(getTicket)-20) 
    getTicket = Right(getTicket,Len(getTicket) - Instr(getTicket,"t>")-1) 
    Print getTicket 

'****Opening Authentication Window for Box.net******** 
    Systemutil.Run "iexplore", "https://www.box.net/api/1.0/auth/" & getTicket 
    Browser("name:=Box.net.*").WebEdit("name:=login").Set BoxNetUserName 
    Browser("name:=Box.net.*").WebEdit("name:=password").Set BoxNetPwd 
    Browser("name:=Box.net.*").WebElement("name:=Login","height:=25").Click 
    Browser("name:=Box.net.*").Sync 
    Browser("name:=Box.net.*").Close 

'*****Requesting Auth_Token 
    strUrl = "https://www.box.net/api/1.0/rest?action=get_auth_token&api_key=" api_key & "&ticket=" & getTicket 
    temp = WinHttpReq.Open("POST", strURL, false) 
    WinHttpReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
    WinHttpReq.Send() 
    Auth_Token = WinHttpReq.ResponseText 
    Print strURL 

'******Parsing Auth Token from XML Response 
    Set xmlObj = XMLUtil.CreateXML() 
    xmlObj.Load Auth_Token 
    Print xmlObj.ToString() 
    Print " ========================================================================= " 
    Set myToken = xmlObj.ChildElementsByPath("/response/auth_token") 
    Print myToken.Count 
    For i = 1 to myToken.Count 
    Auth_Token = myToken.Item(i).Value() 
    Print Auth_Token 
    Print " " 
    Next 

    strURL = "https://upload.box.net/api/1.0/upload/" & Auth_Token & "/0" 

'*****Calling the Upload File method of the .Net Class System.Net.WebClient 
    Set wcl = DotNetFactory.CreateInstance ("System.Net.WebClient") 
    strResult = wcl.UploadFile(strURL, filepath) 

End Function 

source

+0

謝謝。這看起來不錯。我在這裏與我們的VB編寫人員覈對,看看這是否有用。 – Ryan 2012-04-04 18:38:03