2013-01-02 4 views
0

refreshtoken으로 오프라인 액세스를 시도하고 있습니다. httprequest를 사용하면 저장된 refreshToken으로 새로운 accessToken을 얻어야합니다.http 요청에 대한 요청이 잘못되었습니다. Google 드라이브 오프라인 액세스

하지만 더 이상 잘못된 설명이없는 잘못된 요청 400이 계속 표시됩니다. 누군가가이 코드의 문제점을 알리거나 작동하는 코드를 게시 할 수 있습니까 ?? 당신이 도움이 될 전체 요청 및 응답을 붙여 넣을 수 있다면

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://accounts.google.com/o/oauth2/token"); 

authenticator.ApplyAuthenticationToRequest(request); 

request.Method = "POST"; 

String para = "code='"+refreshtoken+"'&client_id='" + ClientCredentials.CLIENT_ID + "'&client_secret='" + ClientCredentials.CLIENT_SECRET + "'&grant_type='refresh_token'"; 

System.IO.Stream requestStream = request.GetRequestStream(); 

System.IO.StreamWriter streamwriter = new System.IO.StreamWriter(requestStream); 

streamwriter.Write(para); 
streamwriter.Close(); 

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
System.IO.Stream stream = response.GetResponseStream(); 

StreamReader reader = new StreamReader(stream); 
String result = reader.ReadToEnd(); 

답변

0
Public Function httpReq(uri As String, para As String, host As String, method As String) As String 
    Dim responseData As String = "" 
    Dim postData As String = para 
    Dim encoding As New ASCIIEncoding() 
    Dim byte1() As Byte = encoding.GetBytes(postData) 

    Dim httpWebRequest As System.Net.HttpWebRequest = Net.WebRequest.Create(uri) 
    httpWebRequest.Method = method 
    httpWebRequest.ContentType = "application/x-www-form-urlencoded" 
    httpWebRequest.ContentLength = byte1.Length 

    Dim newStream As IO.Stream = httpWebRequest.GetRequestStream() 
    newStream.Write(byte1, 0, byte1.Length) 
    newStream.Close() 

    Dim httpWebResponse As System.Net.HttpWebResponse = httpWebRequest.GetResponse() 
    If httpWebResponse.StatusCode = System.Net.HttpStatusCode.OK Then 
     Dim responseReader As System.IO.StreamReader = New System.IO.StreamReader(httpWebResponse.GetResponseStream()) 
     responseData = responseReader.ReadToEnd() 
    End If 
    httpWebResponse.Close() 
    Return responseData 
End Function 
관련 문제