summaryrefslogtreecommitdiff
path: root/feeder/facebook.py
diff options
context:
space:
mode:
Diffstat (limited to 'feeder/facebook.py')
-rwxr-xr-xfeeder/facebook.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/feeder/facebook.py b/feeder/facebook.py
new file mode 100755
index 0000000..96a4ae6
--- /dev/null
+++ b/feeder/facebook.py
@@ -0,0 +1,65 @@
+#!/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 {}
+