ID로 사용자 프로필 사진 가져 오기


123

저는 현재 대부분 페이스 북 그래프 API를 기반으로하는 웹 애플리케이션을 작업하고 있습니다. 사용자에 대한 데이터 (실제로는 가능한 공개 데이터 인 이름과 ID 등)를 보유하고 있습니다. 또한 프로필 사진이 공개 데이터의 일부라는 것을 알고 있으며, ID 만 사용하여 사용자의 프로필 사진으로 직접 링크를 얻을 수있는 방법이 궁금합니다.

미리 감사드립니다


답변:


295

http://graph.facebook.com/ "+ facebookId +"/ picture? type = square 예 : http://graph.facebook.com/67563683055/picture?type=square

"정사각형"외에 더 많은 크기가 있습니다. 문서를 참조하십시오 .



33
다른 모든 옵션도 있으므로 문서를 보는 것이 가장 좋습니다. 예를 들어, 큰 정사각형 이미지를 원하면 (정사각형 기본값이 작기 때문에)를 사용해야 https://graph.facebook.com/{facebookId}/picture?type=large&width=720&height=720합니다.
sudo

2
이미지 자체가 아닌 이미지 URL을 쿼리하는 방법이 있습니까? 아니 가능하다면 서버를 통해 프런트 엔드에 이미지를 업로드 하시겠습니까
알렉산더 밀스

1
- 희망이 누군가에게 자신의 프로필 ID를 찾는 추가 단계 저장됩니다 findmyfbid.com
jarmerson을

3
사용 리디렉션 = 0 대신 이미지 자체의 JSON 설명 (. 포함 URL)를 얻을 수
일리아 데니 소프

123

다음 URL을 사용하여 다양한 크기의 프로필 이미지를 얻을 수 있습니다. URL에 Facebook ID를 추가하십시오.

큰 사이즈 사진 https://graph.facebook.com/ {facebookId} / picture? type = large

중간 크기 사진 https://graph.facebook.com/ {facebookId} / picture? type = normal

작은 크기의 사진 https://graph.facebook.com/ {facebookId} / picture? type = small

정사각형 사진 https://graph.facebook.com/ {facebookId} / picture? type = square


2
: 이것은 내가 내 자신의 FacebookId 발견 할 수 있었다 방법이었다 developers.facebook.com/tools/explorer/...
라이언

39

이미지의 가장 큰 크기를 얻으려면

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720) 

또는 크기로 필요한 다른 것. 경험에 따르면 type = large는 얻을 수있는 가장 큰 결과가 아닙니다.


1
또한 전달할 수 있습니다 : graph.facebook.com {userID}? fields = picture.type (large) 이것은 다음과 같은 것을 가질 때 유용합니다. String url = " graph.facebook.com/me?fields=id,name,email , picture.type (대형) 다른 답변에서 언급 한 바와 같이 당신이 광장, 보통 작은 대형 대체 할 수 ...
yajnesh

액세스 토큰이 필요하지 않습니까 (요즘)?
Bernoulli IT


13

이것은 말 그대로 Graph API 문서 의 첫 페이지에 있습니다 .

  • /OBJECT_ID/picture 개체의 그림 (이 경우 사용자)에 대한 리디렉션을 반환합니다.
  • /OBJECT_ID/?fields=picture 사진의 URL을 반환

예 :

<img src="https://graph.facebook.com/4/picture"/> HTTP 301 리디렉션을 사용하여 Zuck의 프로필 사진으로

https://graph.facebook.com/4?fields=picture URL 자체를 반환


1
아아, 더 이상 Graph API 문서의 홈페이지에 있지 않습니다. 이제 여기에 있습니다. developers.facebook.com/docs/graph-api/using-graph-api
Igy

3
아니요 , Graph API 문서의 첫 페이지에 없습니다. SO에 대한 시간 제약 조건을 피하는 것이 좋습니다. 당신은 .. 일이 그 당시에는 매우 빠르게 변화 알고 ...
지안루카 Ghettini

그리고 아이러니하게도 당신의 대답은 어쨌든 훨씬 더 유용한 그래프 API를 페이지보다 더 많은 관련 정보와입니다 :-)
Simon_Weaver

6

여기에서이 API를 사용하면 fb, google 및 twitter 프로필 사진을 쉽게 얻을 수 있습니다.

https://www.avatars.io/

트위터, 페이스 북, 인스 타 그램, 그라바타 등 다양한 소셜 네트워크의 사용자 이름이 주어지면 프로필 이미지를 반환하는 API입니다. iOS, Android, Ruby, Node, PHP, Python 및 JavaScript 용 라이브러리가 있습니다.


1
정말 환상적입니다! SO가 링크를 좀 더 자세히 설명하기를 좋아하기 때문입니다. 트위터, 페이스 북, 인스 타 그램, 그라바타 등 다양한 소셜 네트워크에 대한 사용자 이름이 주어지면 프로필 이미지를 반환하는 API입니다. iOS, Android, Ruby, Node, PHP, Python 및 JavaScript 용 라이브러리가 있습니다. 탁월한 소프트웨어입니다. GitHub 에서 찾을 수 있습니다 .
Ari Cooper-Davis

3

이 URL을 사용하여 얻을 수 있습니다 : 사진 HD (최대 크기)를 얻을 수 있습니다

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)&redirect=false

redirect = false를 잊지 마십시오. 그렇지 않으면 오류가 반환됩니다.


2

img 태그의 src에 URL을 https://graph.facebook.com/ user_id / picture? type = square로 사용합니다. 유형은 작고 클 수 있습니다 .


2

이를 위해 AngularJs를 사용할 수 있습니다. 양방향 데이터 바인딩 기능은 최소한의 노력과 적은 코드로 솔루션을 얻을 수 있습니다.

<div> <input type="text" name="" ng-model="fbid"><br/> <img src="https://graph.facebook.com/{{fbid}}/picture?type=normal"> </div>

이 질문에 대한 답변이 되었기를 바랍니다. 참고 : 다른 라이브러리도 사용할 수 있습니다.


1

관통 자바 스크립트 SDK (v2.12 - 4 월 2017) 당신은 사진 요청이 방법의 세부 사항을 얻을 수 있습니다 :

FB.api("/" + uid + "/picture?redirect=0", function (response) {
  console.log(response);

  // prints the following:
  //data: {
  //  height: 50
  //  is_silhouette: false
  //  url: "https://lookaside.facebook.com/platform/profilepic/?asid=…&height=50&width=50&ext=…&hash…"
  //  width: 50
  //}

  if (response && !response.error) {
    // change the src attribute of img elements
    [...document.getElementsByClassName('fb-user-img')].forEach(
      i => i.src = response.data.url
    );

    // OR redirect to the URL above
    location.assign(response.data.url);
  }
});

JSON 응답을 매개 변수를 얻기 위해 redirect0 값으로 (영) 기본적으로 이미지에 대한 요청 리디렉션 이후 중요하다. 동일한 URL에 다른 매개 변수를 계속 추가 할 수 있습니다. 예 :

  • "/" + uid + "/picture?redirect=0&width=100&height=100": 100x100 이미지가 반환됩니다.
  • "/" + uid + "/picture?redirect=0&type=large": 200x200 이미지가 반환됩니다. 기타 가능한 유형 값에는 small , normal , albumsquare가 있습니다.

1

아래 URL을 따르십시오.

https://graph.facebook.com/facebook_user_id/picture?type=square

유형 은 정상, 소형, 중형, 대형 일 수 있습니다. 또는 정사각형 (정사각형 사진을 얻으려면 정사각형 크기가 50x50으로 제한됨).


2
정사각형 사진을 얻으려면 정사각형 크기는 50x50으로 제한됩니다.
Rahul Gupta


1

현재 최신 페이스 북 API 버전 3.2에 따라, 사용자의 프로필 사진을 얻기 위해이 일반적인 방법을 사용할 수있다 https://graph.facebook.com/v3.2/{user-id}/picture?type=square 당신이 할 수있는 여기 에서 사용자 사진에 대한 설명서를 참조하십시오 . URL의 유형 매개 변수에 가능한 값은 small, normal, album, large, square 일 수 있습니다.

그룹 및 페이지 의 경우 프로필 사진을 직접 사용할 수 없습니다. 액세스 토큰을 사용하여 가져와야합니다. 그룹의 경우 사용자 액세스 토큰을 사용해야하며 페이지의 경우 사용자 액세스 토큰과 페이지 액세스 토큰을 모두 사용할 수 있습니다.

일반 URL을 사용하여 그룹 또는 페이지의 프로필 사진을 가져올 수 있습니다. https://graph.facebook.com/v3.2/{user-id}/picture?access_token={access-token}&type=square

페이지 또는 그룹 프로필 사진을 찾는 사람들에게 도움이되기를 바랍니다.


대부분의 페이지에서 액세스 토큰없이 페이지 프로필 사진을 얻지 만 일부 페이지의 경우 아래 형식의 응답으로 물음표 이미지를 반환합니다. { "data": { "is_silhouette": true, "url": " static.xx.fbcdn.net/rsrc.php/v3/y6/r/_xS7LcbxKS4.gif "}} 단서가 있습니까?
xyz

0

다음 끝점을 사용하여 jpg 대신 image.jfif를 가져올 수 있습니다.

https://graph.facebook.com/v3.2/{user-id}/picture

이미지를 볼 수는 없으며 다운로드 만 가능합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.