0

YoutubeのプライベートメッセージでPostメソッドを作ろうとしています。

ここにURL「この質問がスパムとしてブロックされるのを防ぐためにすべてのURLがドットとhttp://を削除しました」

www_youtube_com/inbox?feature=mhee&folder=messages

C#では、すでに「ログイン」POSTメソッドを作成しています。スニペットは次のとおりです。

Dim url As String = "https://accounts.google.com/ServiceLogin?passive=true&hl=pt_BR&service=youtube&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26feature%3Dsign_in_button%26hl%3Dpt_BR%26next%3D%252F%26nomobiletemp%3D1&uilel=3"
Dim formUrl As String = url
Dim formParams As String = String.Format("Email={0}&Passwd={1}", "*********", "**********")
Dim cookieheader As String

Dim req As WebRequest = WebRequest.Create(formUrl)
req.ContentType = "application/x-www-form-urlencoded"
req.Method = "POST"
Dim bytes() As Byte = Encoding.ASCII.GetBytes(formParams)
req.ContentLength = bytes.Length
Using os As Stream = req.GetRequestStream()
    os.Write(bytes, 0, bytes.Length)
End Using
Dim resp As WebResponse = req.GetResponse()
cookieheader = resp.Headers("Set-cookie")
cookies.SetCookies(resp.ResponseUri, resp.Headers("Set-cookie"))
resp.Close()

'starts sending msg
Dim httpreq As HttpWebRequest = WebRequest.Create("http://www.youtube.com/inbox_ajax")
httpreq.ContentType = "application/x-www-form-urlencoded"
httpreq.Method = "POST"
formParams = String.Format("action_ajax=1&type=send_message&message_text={2}&subject={1}&to_users={0}&video_id={3}", "user", "subject", "message_body", "videoid")
bytes = Encoding.ASCII.GetBytes(formParams)
httpreq.ContentLength = bytes.Length
httpreq.CookieContainer = cookies
httpreq.Headers.Add("Cookie", cookieheader)
Using os As Stream = httpreq.GetRequestStream()
    os.Write(bytes, 0, bytes.Length)
End Using
resp = httpreq.GetResponse()

user、subject、message_body、videoidの各フィールドには、正しくテストするための実際のデータが入力されています。

私はすでに時々HTTPREQURLを変更しようとしたので、それはyoutubeフォームのWebサイトと一致する可能性がありますが、firebugを使用して、それらの情報をキャッチします。

Firebugを使用してFirefoxで手動で投稿したときに投稿が発生するURL:

www_youtube_com/inbox_ajax?action_ajax=1&type=send_message
Message Parameters:
[{"type":"send_message","request":{"message_text":"Test6","subject":"Test5","to_users":"HTDANILO","video_id":"ph0TNYQllRQ"}}]

ファイヤーバグはまた、リファラーサイトは次のようになっていると言っています。

www_youtube_com/inbox?feature=mhee&folder=messages

しかし、私はすでにそこに投稿しようとしました。また、http://www.youtube.com/inboxでも試しましたが、どちらも機能しませんでした。

誰かが私を指さして、なぜそれが機能しないのか理解できるようにすることができますか?

私の母国語ではなく、悪い英語で申し訳ありません。アドバイスに感謝します!

4

0 に答える 0