0

これが私がやろうとしていることです。Facebookアプリケーションを作成し、GraphAPIエクスプローラーを使用して右上のアプリケーションを指定することができました。

さらに詳細な情報として、C#を使用して社内アプリの機能をコーディングし、これを機能させています。

その後、URLセクションに移動し、次のアドレスを入力します。

https://graph.facebook.com/MyCompanyPage

次に、送信を押します。エクスプローラーで、そのページの情報をナビゲートして表示します。次に、アプリのaccess_tokenを取得するために、[アクセストークンの取得]->[拡張アクセス許可の指定]->[アクセストークンの取得]をもう一度押します。それはすべてうまくいっていて、Facebookアプリを使ってFacebookに投稿することができます。

問題は、access_tokenの有効期限が切れており、手動の取得方法を使用してアクセストークンを取得していることです。

これが、GITの例の1つを使用して試したことです。

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.
}

これで、アプリのアクセストークンを自分で取得しようとしたときに機能します。ただし、GraphAPIExplorerの場合と同じように動作する動作が必要です。Explorerのように機能する必要があるのは、実際の会社ページでFacebookアプリケーションを使用して投稿したかったため、会社ページは実際にはユーザーではなくFacebook投稿を作成しているようです。上で述べたように、Graph API Explorerを使用してこれを正常に実行できますが、C#では正常に実行できません。

4

1 に答える 1

2

ページに代わってGraphAPIを使用するには、ページアクセストークンを取得する必要があります。詳細については、https ://developers.facebook.com/docs/authentication/pages/を参照してください。

  1. ユーザーを認証し、manage_pages権限をリクエストします
  2. ユーザーが管理するページのリストを取得する
  3. リストを解析してトークンを取得し、それを使用してフィードに投稿します。
于 2012-04-13T21:01:04.337 に答える