programing

Javascript로 FB 사진 태그를 프로그래밍 방식으로 해제합니다.

oldcodes 2023. 8. 12. 10:40
반응형

Javascript로 FB 사진 태그를 프로그래밍 방식으로 해제합니다.

저는 지난 한 시간 동안 이것을 열심히 공부했습니다.저는 페이스북의 사진에서 프로그램적으로 제 자신의 태그를 제거하기 위해 자바스크립트 루틴을 작성하고 싶습니다.작동하면 Firebug 콘솔에서 실행하고 모든 Facebook 사진에서 태그를 해제합니다(GUI를 통해 이 작업을 수행할 수 없습니다).

제 여행에 도움이 될 만한 조언이 있는지 알고 싶었습니다.

저는 몇 가지 방법을 생각하고 있지만 아직 너무 멀리 가지는 않았습니다.저는 새로운 HTML 요청을 생성하고 remove_tag URL을 가리키며 AJAX 접근 방식을 시도했습니다. 이 URL은 다음과 같습니다.

/ajax/photo_tagging_ajax.php?pid=(PICT_ID)&id=(PICT_OWNER_ID)&subject=(SOMETING)&name=(YOUR+NAME)&action=제거

놀랄 것도 없이, 이것은 (아직) 작동하지 않습니다.Firebug에서 HTTP 응답을 확인해 봤는데 실제로 사진 태그를 풀었을 때와는 상당히 다릅니다.POST 요청도 보내지 않고 있습니다.

확인하기 위해 "태그 제거" 앵커에서 getElementById를 수행한 다음 document.location switcharoo를 수행했지만 작동하지 않습니다..click()도 할 수 없습니다.

이게 가능할까요, 아니면 제가 꿈을 꾸고 있을까요?(새벽 4시가 다 되어갑니다)

DCoder에서 해커 뉴스를 통해:

사진 페이지 내부에서 Firebug, FireQuery, jQuery no conflict를 $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);

UI를 업데이트하지 않습니다.fb_dtsg 및 post_form_id는 필수이며 반 CSRF 토큰인 것 같습니다.여러 번 재사용할 수 있는지 알 만큼 실험을 충분히 하지 않았습니다.

당신이 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);

Chickenfoot http://groups.csail.mit.edu/uid/chickenfoot/ 은 Firebug 콘솔을 사용하는 대신 사용할 수 있는 Firefox 플러그인입니다. 브라우저에서 반복 작업을 자동화하기 위해 매크로/매크로를 작성할 수 있습니다.코드화하는 작업은 실제로 클릭하거나 양식을 작성하는 것과 다를 바 없습니다.내가 기억하는 한 html 등을 통과하기 위한 DOM 인터페이스가 있습니다.

언급URL : https://stackoverflow.com/questions/2855288/programmatically-untag-fb-photos-with-javascript

반응형