그래서 여기에 내가하려는 일이 있습니다. 내 Facebook 응용 프로그램을 만들었고 Graph API 탐색기를 사용하여 오른쪽 상단에 응용 프로그램을 지정할 수있었습니다.회사 벽에 게시 할 앱에 대한 Facebook 액세스 토큰을 얻으려면 어떻게해야합니까?
좀 더 자세한 정보는이 기능을 사용하기 위해 사내 앱의 기능을 코딩하기 위해 C#을 사용하고 있습니다.
그 후 URL 섹션으로 이동하여 다음 주소를 입력하십시오.
https://graph.facebook.com/MyCompanyPage
그런 다음 제출했다. 탐색기에서 해당 페이지의 정보를 탐색하고 표시합니다. 그럼 내 애플 리케이션에 대한 내 access_token을 얻으려면 가서 액세스 토큰 가져 오기 -> 내 확장 권한 지정 -> 액세스 토큰 가져 오기를 다시 누르십시오. 모든 것이 잘되고 좋으며 Facebook 앱을 사용하여 Facebook에 성공적으로 게시 할 수 있습니다.문제는 access_token이 만료되고 수동 검색 방법을 사용하여 액세스 토큰을 얻는 것입니다.
GIT의 예제 중 하나를 사용해 보았습니다.
FacebookClient client = new FacebookClient();
dynamic parameters = new ExpandoObject();
parameters.client_id = "MYAPPID"; // Or does this need to be my CompanyPage ID??
parameters.redirect_uri = "https://www.facebook.com/connect/login_success.html";
// The requested response: an access token (token), an authorization code (code), or both (code token).
parameters.response_type = "token";
// list of additional display modes can be found at http://developers.facebook.com/docs/reference/dialogs/#display
parameters.display = "popup";
// add the 'scope' parameter only if we have extendedPermissions.
parameters.scope = "publish_stream,manage_pages,status_update";
// when the Form is loaded navigate to the login url.
Uri LoginURL = client.GetLoginUrl(parameters);
// whenever the browser navigates to a new url, try parsing the url.
// the url may be the result of OAuth 2.0 authentication.
FacebookOAuthResult oauthResult;
if (client.TryParseOAuthCallbackUrl(LoginURL, out oauthResult)) {
// The url is the result of OAuth 2.0 authentication
} else {
// The url is NOT the result of OAuth 2.0 authentication.
}
이제이 앱에 대한 액세스 토큰을 얻으려고 할 때이 기능이 작동합니다. 그러나 그래프 API 탐색기와 동일한 방식으로 작동하는 동작이 필요합니다. 익스플로러처럼 작동해야하는 이유는 실제 회사 페이지에서 Facebook 애플리케이션을 사용하여 게시물을 만들고 싶었 기 때문입니다. 따라서 회사 페이지는 실제로 Facebook 페이지가 아닌 사용자 페이지로 나타납니다. 위에서 말한 것처럼 Graph API Explorer를 통해 성공적으로이 작업을 수행 할 수 있지만 C#에서는 성공하지 못했습니다. 페이지 대신 그래프 API를 사용하기 위해
게시물을 읽은 후에 좋습니다. 나는 내 마음 속에서 내가 성취하고자하는 것이 본질적으로 불가능하다는 것을 깨달았습니다. 전 과정을 자동화 할 수 있어야합니다. 그러나 먼저 사용자를 인증하고 해당 액세스 토큰을 가져와야합니다. 로그인 페이지로 리디렉션하지 않으면 내가 할 수없는 일입니다. 따라서 사용자는 최소한 Facebook에 로그인 한 다음 사용자 대신 게시물을 작성할 수 있어야합니다. access_token에 대한 시간을 늘릴 수 있습니까? 이들은 단지 몇 시간 만 지속됩니다. – meanbunny
: 토큰을 확장하고 질문과 대답을 참조하십시오. http://stackoverflow.com/questions/10082531/what-is-the-code-for-getting-a-refreshed-facebook-token-in-an- android-app/10148412 # 10148412 60 일 동안 유효한 새로운 토큰을 받게됩니다 – avs099
당신은 최고입니다! 나는 먼저 앱의 access_token을 확장해야만했다. 그런 다음 페이지에 게시 할 액세스 토큰이 길어질 것이라고 가정 한 특별한 것을 얻을 수 있었다. 천천히 그러나 확실하게 배우기. – meanbunny