好的,这就是我想要做的,我想通过 Youtube 手动发送一条消息,使用 javascript。我试图找到在 Youtube API 中发送消息的最后一行代码,然后自己能够执行该代码。
我不想只输入
inbox.sendMessage();
进入 JavaScript 控制台。
以下是我目前所知道的:
处理消息的外部 js 文件:http: //s.ytimg.com/yts/jsbin/www-inbox-vflCOzV-o.js
开始发送消息的函数是
inbox.sendMessage();
当 this 被调用时,一个应用于变量 m.va 的函数被调用。该函数有 2 个重要部分: 收集消息输入值的部分:
var b=H("compose_message").value;
(H是一个基本上相当于document.getElementById的函数)
第二个重要部分是函数发送编译信息时:
W(this,a,"send_message",h)
上述函数编译 a 中的信息(主题、消息、附件等)并通过 .push 将它们发送到引用为 this.st 的数组中(调用 this.stpush(f),f是编译的信息)。
以下是上述函数调用中信息的排列方式:
a.o = H("user_ext_ids").value;
a.p = H("compose_to").value;
a.V = this.a; (global variable unknown to me)
a.U = H("field_reference_video").value;
a.k = H("compose_subject").value;
a.e = H("compose_message").value;
函数 W 将上面的内容编译成一个新变量: f 像这样:
f.to_user_external_ids = H("user_ext_ids").value;
f.to_users = H("compose_to").value;
f.in_reply_to = this.a; (global variable unknown to me)
f.video_id = H("field_reference_video").value;
f.subject = H("compose_subject").value;
f.message_text = H("compose_message").value;
一旦函数 W 如上所述将信息编译为 f ,它就会将其推送到数组的末尾,我假设它是某种动作队列,或者是与其他动作一起发送的信息包。
这是推送信息的代码:
a.t.push({type:c,request:f});
这些是上述代码行的参考:
a = this.s; (Originally equalled this, when W was called by the first function, but is was changed to this at the beginning of W)
c = "send_message"; (I am guessing this is the part telling the script that the action is sending the message)
f - this is the compiled information that I mapped out above.
我设法找到了 this.st 的设置,但我被困在了这个范围之外。
this.s=new pb(a);
变量 s 设置为此函数。函数 pb(a) 可以通过 Ctrl-F'ing 找到:
function pb(a)
与我在这里引用的大多数函数和变量一样。
在 pb(a) 的范围内,变量 this.t 被初始化:
this.t=[];
我还发现在同一个函数中 this.s=new pb(a); 发生时,this.s 涉及另一个函数,并且它是唯一一次在整个脚本中引用“this.s”(小 s,不是大写字母),除了 a=as; 这是它被引用的函数:
var c=R(R(R(R(R(R(R(R(R(R(this.s,"accept_message",this.v,this),"accept_messages",this.v,this),"block_user",this.v,this),"delete_message",this.v,this),"delete_messages",this.v,this),"display_messages",this.W,this),"ignore_message",this.v,this),"ignore_messages",this.v,this),"mark_as_spam",this.v,this),"send_message",this.Y,this);
这是我所能得到的,现在我完全被难住了。任何帮助将不胜感激,我需要能够到达实际发送消息的最后一行代码,并且没有引用其他任何内容,因此我可以手动发送消息,JavaScript 独立于该脚本。
问题:你能帮我找到发送消息的最后一行代码,以便我可以手动发送消息,JavaScript 独立于这个 js 脚本。