2013-08-17 3 views
1

pastebin의 api를 사용하여 게시물을 작성하는 방법을 찾고 있습니다. 내가 원하는 것은 pastebin 계정에 로그인하여 문자열을 게시하는 것입니다. 나는이 일을하는 법을 정말로 모르지만, 어떤 도움을 주시면 감사하겠습니다. 감사!VB에서 API를 사용하여 pastebin에 게시하십시오.

그들의 API는 여기에서 찾을 수 있습니다 : http://pastebin.com/api

+0

을 user_key 생성이 먼저 로그인을 시도 (http://pastebin.com/tools#windows)? –

답변

0

[공식 윈도우 응용 프로그램] 바로 사용할 쉽게하지 않을까요 포스트에 새로운 붙여 넣기

Private Const login_url As String = "http://pastebin.com/api/api_login.php" 
    Private Const post_url As String = "http://pastebin.com/api/api_post.php" 
    Private Const dev_key As String = "32e06c2da46f91db964deb1a33db8ab0" 
    Private Const user_name As String = "??????" 
    Private Const user_password As String = "???????" 
    Private user_key As String = "" 

    Public Sub CallIt() 
     'Login to generate the user_key 
     If Login() Then 
      ' Then post a new paste 
      Dim PasteURL As String = Post("Code", "Name", "vb") 

     End If 
    End Sub 

    Public Function Login() As Boolean 

     Dim Data As New NameValueCollection() 
     Data.Add("api_dev_key", dev_key) 
     Data.Add("api_user_name", user_name) 
     Data.Add("api_user_password", user_password) 

     Dim Status As Boolean = True 
     Using Client As New WebClient() 
      Dim Response As String = Encoding.UTF8.GetString(Client.UploadValues(login_url, Data)) 

      If Response.Contains("Bad API request") Then 
       Status = False 
      Else 
       user_key = Response 
      End If 

     End Using 

     Return Status 
    End Function 

    Public Function Post(ByVal paste_code As String, _ 
         ByVal paste_name As String, _ 
         ByVal paste_format As String) As String 
     If user_key = "" Then Return False 

     Dim Data As New NameValueCollection() 
     Data.Add("api_dev_key", dev_key) 
     Data.Add("api_user_key", user_key) 
     Data.Add("api_option", "paste") 
     Data.Add("api_paste_code", paste_code) 
     Data.Add("api_paste_name", paste_name) 
     Data.Add("api_paste_format", paste_format) 
     Data.Add("api_paste_private", "2") '0=public 1=unlisted 2=private 
     Data.Add("api_paste_expire_date", "N") 

     Dim PasteURL As String = "" 
     Using Client As New WebClient() 
      Dim Response As String = Encoding.UTF8.GetString(Client.UploadValues(post_url, Data)) 

      If Not Response.Contains("Bad API request") Then 
       PasteURL = Response 
      End If 
     End Using 

     Return PasteURL 
    End Function