検索して /me/accounts/がもう利用できないことがわかりました。以前はそれを使用していたので、その Gistを使用して問題なくページのアプリケーションに投稿しました。
しかし、コードを次のように変更したときに、そのアプリケーションを削除し、別の新しいアプリケーションを追加しようとしました:
class MainHandler(BaseHandler, tornado.auth.FacebookGraphMixin):
@tornado.web.authenticated
@tornado.web.asynchronous
def get(self):
self.facebook_request("/me/applications/developer/", self._on_accounts, access_token=self.current_user["access_token"])
def _on_accounts(self, account):
if account is None:
# Session may have expired
print "on accounts failed"
sys.exit()
print "here we go!"
print account # this will return me a json
for acc in account["data"]:
if acc["id"] == "157547381099830":
self.facebook_request("/157547381099830/feed", post_args={"message":"hi there!", "link": "http://www.example.com"}, access_token=self.current_user["access_token"], callback=self.async_callback(self._on_page_post))
私ができることは、自分のウォールに投稿することだけです(で変更
)ページに入力self.facebook_request("/157547381099830/feed"...
しself.facebook_request("/me/feed"...
、Facebook はそれが管理者であることを認識していますが、Python コードを使用すると、ストリームを通常のユーザーに公開します!
編集: 問題は Facebook の新しいルールのようなものですか? 自分の名前に切り替えると、管理者であってもウォールに公開できませんか?
管理設定では、次のように書かれています。
Manager Abdelouahab は、管理者の役割を管理し、メッセージを送信し、ページとして投稿を作成し、広告を作成し、洞察を表示できます。
しかし、そうではないようです。なぜなら、私が選択したとき:
あなたは Abdelouahab Abdenour Aliane として投稿、コメント、いいね! しています — Essog コミュニティに変更すると、Essog コミュニティに切り替えた場合にのみ投稿できます (外部ユーザーがウォールに投稿するのをブロックしたため)。
更新:manage_pages
スコープに追加されましたが、これでも機能しませんでした