Tal*_*Tal 30 javascript ajax facebook privacy
我花了一个小时的时间来讨论这个问题:我想编写一个Javscript例程,以编程方式从Facebook上的照片中删除自己.一旦它工作,我将在Firebug控制台中运行它并从所有Facebook照片中取消自己(没有办法通过GUI执行此操作).
我想看看你们是否有一些建议让我踏上旅程.
我有几个方法,但还没有走得太远.我通过创建一个新的HTML请求并将其指向remove_tag URL来尝试AJAX方法,该URL看起来像这样:
/ajax/photo_tagging_ajax.php?pid= (PICTURE_ID)&ID = (PICTURE_OWNER_ID) &主题= (东西)&名称= (YOUR + NAME)和行动=除去
毫不奇怪,这还不行.我一直在检查Firebug中的HTTP响应,它与我实际解开图片的情况完全不同.它甚至没有发送POST请求.
为了澄清,我还尝试在"删除标记"锚点上执行getElementById,然后执行document.location switcharoo,但这不起作用.我也不能对它做一个.click().
这甚至可能还是我在做梦?(差不多凌晨4点)
使用Firebug,FireQuery,jQuery与照片页面内的$ jq没有冲突(http://www.facebook.com/photo.php?pid=xxx&id=y):
var loc = window.location.href.match(/pid=(\d+)&id=(\d+)/);
var args = {
pid: loc[1], // photo ID
id: loc[2], // request sender id? photo owner id? not sure, haven't tested, but my user ID worked when trying to remove someone from a photo in my album
subject: loc[2], // user ID to remove
name: '', // not checked
action: 'remove',
__a: 1,
fb_dtsg: $jq('input[name="fb_dtsg"]').val(),
post_form_id: $jq('#post_form_id').val(),
post_form_id_source: 'AsyncRequest'
};
$jq.post('/ajax/photo_tagging_ajax.php', args);
Run Code Online (Sandbox Code Playgroud)
它不会更新UI.fb_dtsg和post_form_id是必需的,似乎是反CSRF令牌.没有足够的实验来知道它们是否可以多次重复使用.
小智 3
因为我不确定您是否在 HN 上获取了我的更新版本:
var loc = window.location.href.split('?')[1].split('#')[0].split('&');
var qs = {};
$jq.each(loc, function(ix, el) {
var m = el.split('='), k = m[0], v = m[1];
qs[k] = v;
});
var args = {
pid: qs.pid, // photo ID
id: qs.id, // photo owner ID
subject: Env.user, // user ID to remove
name: '', // not checked
action: 'remove',
__a: 1,
fb_dtsg: Env.fb_dtsg,
post_form_id: Env.post_form_id,
post_form_id_source: 'AsyncRequest'
};
$jq.post('/ajax/photo_tagging_ajax.php', args);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6402 次 |
| 最近记录: |