#!/usr/bin/python import browser import time import sys import os class Facebook: def __init__ (self, name): self.FB_BASE_HREF = "https://graph.facebook.com/" # self.APP_URL = "http://scannerjammer.com/" self.APP_URL = "https://scannerjammer.com/cgi-bin/fb_token.cgi" self.APP_ID = "236917449658413" self.APP_SECRET = "3c96521000dee1de2e68047b61a74531" self.browser = browser.Browser () self.name = name self.token = None self.codefile = "fb/tokens/" + self.name + ".code" self.tokenfile = "fb/tokens/" + self.name + ".token" self.get_token () def get_code (self): f = file (self.codefile, "r") code = f.read().strip() f.close() return code def get_token (self): if os.path.exists(self.tokenfile): f = file (self.tokenfile, "r") self.token = f.read().strip() f.close() return code = self.get_code () params = { "client_id": self.APP_ID, "redirect_uri": self.APP_URL, "client_secret": self.APP_SECRET, "code": code, } qs = self.browser.qs(params) url = self.FB_BASE_HREF + "oauth/access_token?" + qs try: self.token = self.browser.get(url).read().strip() print "got token length", len(self.token) f = file (self.tokenfile, "w") f.write(self.token) f.close() except: print "ERROR FETCHING TOKEN" sys.exit() def get_post (self, groupid): url = self.FB_BASE_HREF + str(groupid) + "?" + self.token time.sleep(1) return self.browser.get_json(url) def get_feed (self, groupid): url = self.FB_BASE_HREF + str(groupid) + "/feed?" + self.token return self.get_feed_page (url) def get_feed_page (self, url): try: data = self.browser.get_json(url) time.sleep(1) return data except: return {}