2012-03-16 3 views
0

지금 여러 자료를 읽었지만 해결책을 찾지 못했습니다. ASP.net 4 및 VB.net 2010과 함께 Facebook C# SDK을 사용하고 있습니다. Facebook Canvas 응용 프로그램이 있습니다. Canvas Auth.Authorize를 사용하고 있으며 정상적으로 작동합니다. 이제 현재 로그인 한 사용자가 이미 내 앱을 좋아하는지 여부를 알고 싶습니다. 내가 어떻게 할 수 있니? Facebook Documentation에 따르면 "이 필드 앱은 페이지 탭에서로드되는 경우에만 존재"때문에페이 스북 사용자가 내 앱을 좋아하는지 확인하십시오.

  • 'SignedRequest'는 작동하지 않습니다.
  • 그래프/사용자/좋아요 또한 내가 좋아하는 모든 사람에게 내 앱에 대한 액세스 권한을 부여하도록 사용자에게 요청하고 싶지 않기 때문에 옵션이 아닙니다.

그러나 Facebook 플러그인은 현재 사용자가 내 앱을 좋아하는지 여부에 따라 달라질 수 있으므로 아직 찾지 못한 방법이 있다는 것이 매우 긍정적입니다.

감사합니다.

답변

2

그래프 API를 사용하여 사용자를 좋아할 수 있습니다. 좋아하는 모든 것을 요청하는 대신 원하는 하나만 요청하면됩니다.

사용자가 결과 페이지에 대한 세부 정보를 반환 할 페이지를 좋아했다 당신이 경우

https://graph.facebook.com/userId/likes/appId

. 예 :

{ 
    "data": [ 
    { 
     "name": "Microsoft Office Web Apps", 
     "category": "Software", 
     "id": "121883824529155", 
     "created_time": "2012-03-14T06:48:47+0000" 
    } 
    ], 
    "paging": { 
    "next": "https://graph.facebook.com/me/likes/121883824529155?format=json&limit=5000&offset=5000&__after_id=121883824529155" 
    } 
} 

사용자가 페이지를 마음에 들지 않으면 빈 데이터를 받게됩니다. 다음과 같이

페이스 북의 C#을 SDK와
{ 
    "data": [ 
    ] 
} 

이 요청을 만들 것입니다 :

var client = FacebookClient("access_token_here"); 
dynamic result = client.Get('/me/appId'); 
if (result.data.Length == 1) { 
    // User has liked page 
} 
+0

안녕 나단, 답장을 보내 주셔서 감사합니다! 그것은 예상대로 작동하지만 2 개의 코멘트 : 1. 마지막 코드 예제는 URL에서 '/ likes'를 누락합니다. 2. LIKE가 내 앱과 연결되는 방식을 이해하지 못합니까? 내가 가지고있다. 응용 프로그램 'MyApp'(apps.facebook.com/myapp), 해당 페이지 (www.facebook.com/MyApp) 및 도메인 이름 (myapp.com). 좋아하는 것은 이것들 중 어느 것과도 일치하지 않습니다. 대신 http://misha.beshkin.lv/how-to-add-like-box-to-your-app-on-facebook/에 제공된 connect-url로만 볼 수 있었지만 그곳에는 질문 만있었습니다. 앱 아이콘 등으로 표시 하시겠습니까? 그래서 LIKE에 속한 URL은 무엇입니까? – K232

+0

OK, 찾았습니다./me/likes/appId에서 나는 AppID를 사용하지 않고 PageID를 사용하고 있습니다. – K232

관련 문제