1

Stack Exchange Webアプリケーションの質問で詳しく説明されている問題を解決するために、ページ名を指定し、適切なaccess_tokenがそのページによって作成されたイベントをiCalカレンダーファイルとして吐き出す小さなPHPスクリプトを作成しました。明らかに、このファイルは人間がアクセスすることを想定していませんが、たとえば、購読するためのGoogleカレンダーによってアクセスすることを想定しています。

Facebook Graph Explorerを使用してaccess_tokenを作成しましたが、後で期限切れになることに気付きました。したがって、問題は、有効期限が切れていないページaccess_tokenを取得できますか?それができない場合、有効期限が非常に長いものを入手できますか?

それが不可能な場合-誰かが何をすべきか手がかりを持っていますか?1時間に1回access_tokenを手動で提供することは、あまり実現可能ではありません。

4

2 に答える 2

2

@CBroeは私を正しい方向に導き、@MPauloは私をさらに助けてくれました。上記の質問の冒頭でリンクした質問で説明されている問題を解決するために作成したスクリプトファイルの冒頭で、プロセスを説明する方法は次のとおりです。


まず、アクセストークンが必要です。これは複雑なことです。通常のものを入手するのは簡単ですが、永続的に続くものが必要です。ここでシナリオ5で説明されているように:https ://developers.facebook.com/roadmap/offline-access-removal/ 、次のことを行う必要があります。

  1. 通常の短期間のアクセストークンを取得する
  2. 長期間有効なアクセストークンと交換してください
  3. 新しいアクセストークンを使用して、永続的なページアクセストークンを取得します。

まず、 https: //developers.facebook.com/apps/で新しいFacebookアプリを作成します。名前は何でもかまいませんが、実際には使用されません。ドメインを入力します-どちらでも構いません。単純なHTMLを表示し、リダイレクトを行わないドメインを選択してください。私は独自の静的Webページhttp://jobjorn.se/を使用しましたが、http:// example .org/も機能する可能性があります。

ここでStackOverflowに関するMPauloの指示に従って、https ://stackoverflow.com/a/11238327/564628 、新しく作成したアプリのアプリIDを使用し、次のページにアクセスします: https ://www.facebook.com/dialog / oauth?client_id = MY_APP_ID&redirect_uri = MY_SITE_URL&scope = manage_pages&response_type=token 必ず「MY_APP_ID」と「MY_SITE_URL」を置き換えてください。

次に、次のページにアクセスして、短期間のアクセストークンを長期のアクセストークンに交換し ます 。 "、" MY_APP_SECRET "、および" YOUR_ACCESS_TOKEN "(最後は最初のページから受け取ったアクセストークンです)

最後に、ここでページアクセストークンを取得します 。https : //graph.facebook.com/me/accounts?access_token = YOUR_NEW_ACCESS_TOKEN必ず「YOUR_NEW_ACCESS_TOKEN」(2ページ目から受け取ったアクセストークン)を置き換えてください。

下に貼り付けてください。永続的である必要がありますが、バグが原因で2か月しか続かない可能性があります。詳細についてはhttps://developers.facebook.com/bugs/151056591697025を参照してください。ただし、修正されたようです。ここでテストできます:https ://developers.facebook.com/tools/debug/access_token

于 2012-07-21T19:42:01.710 に答える
0

アプリを作成し、アプリのクレデンシャルを使用して認証します。ユーザー固有のデータを読み取っていない限り、ユーザーaccess_tokenは必要ありません。

于 2012-07-21T02:26:35.100 に答える