From 3cd0da897790d617c882209e6e79cee507f7f868 Mon Sep 17 00:00:00 2001 From: Okechi Onyeje Date: Wed, 1 Jun 2016 05:28:17 -0400 Subject: [PATCH] facebook posting integration done, just need to fine tune the checks and add firebase to save the listing information in the user's account --- .DS_Store | Bin 10244 -> 10244 bytes .../UserInterfaceState.xcuserstate | Bin 42627 -> 69911 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 316 ++---------------- Vendoo/.DS_Store | Bin 10244 -> 10244 bytes Vendoo/FacebookGraphAPIManager.swift | 33 +- Vendoo/ItemImagePickerViewController.swift | 8 +- Vendoo/ListingPreviewViewController.swift | 66 +++- Vendoo/NetworksTableViewController.swift | 18 +- 8 files changed, 125 insertions(+), 316 deletions(-) diff --git a/.DS_Store b/.DS_Store index 9e4265367ef7197c4b002962b9c9d4349721d951..7f9adccbb289ba7b639dcd4f06cb708cc0311607 100644 GIT binary patch delta 337 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 literal 42627 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 Yt#Uj3pAt^1UHgA*vi5)c|IF?9U%R$utN;K2 diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 7e02f3d..28be050 100644 --- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -10,45 +10,13 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/FacebookGraphAPIManager.swift" - timestampString = "486403080.878544" + timestampString = "486462859.733613" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "35" - endingLineNumber = "35" - landmarkName = "FacebookGraphAPIManager" - landmarkType = "3"> - - - - - - + startingLineNumber = "155" + endingLineNumber = "155" + landmarkName = "makePOSTResquest(_:params:)" + landmarkType = "5"> + + + + @@ -74,254 +58,14 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Vendoo/FacebookGraphAPIManager.swift" - timestampString = "486407553.29875" + timestampString = "486465261.252783" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "114" - endingLineNumber = "114" - landmarkName = "authorizeApp(_:)" + startingLineNumber = "163" + endingLineNumber = "163" + landmarkName = "makePOSTResquest(_:params:)" landmarkType = "5"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Vendoo/.DS_Store b/Vendoo/.DS_Store index 78c56e288c3cd9d293e84fa2ff587a72a51a7d31..433ae029b048c3d0f2433ab8cec5e47eaf6610f6 100644 GIT binary patch delta 289 zcmZn(XbG6$&nUYwU^hRb>}DQ;N+w3x$!$XVlcR+sCtnZ}+}tWu!X)j(kjYTYPy!_L z7}6O67>XED8OngXREF}&0wQLU6@*zeU;GCH1`tqYz^_Agvc9N{pc?}N;|ri_;s5`^ nx)dk>5HX*8UQBkfpD6F5Co7ok9u}oer5;Q=TF5_AHye-?-dv4DmFvj-sh1P5;basX=p ZbCd8E6_d{t5|i&09FuJp5VPSHsR9y(7k&T$ diff --git a/Vendoo/FacebookGraphAPIManager.swift b/Vendoo/FacebookGraphAPIManager.swift index 8e66d44..bc9e910 100644 --- a/Vendoo/FacebookGraphAPIManager.swift +++ b/Vendoo/FacebookGraphAPIManager.swift @@ -66,7 +66,7 @@ extension FacebookGraphAPIManager { if(FBSDKAccessToken.currentAccessToken() == nil){ var boolResult:Bool = false dispatch_async(dispatch_get_main_queue(), { () -> Void in - self.login.logInWithReadPermissions([/*"publish_actions", */"public_profile"], fromViewController: viewcontroller, handler: { + self.login.logInWithReadPermissions(["user_posts","public_profile"], fromViewController: viewcontroller, handler: { (result, error) -> Void in if (error != nil) { @@ -88,7 +88,7 @@ extension FacebookGraphAPIManager { FBSDKAccessToken.setCurrentAccessToken(result.token) print("user logged in through facebook") - self.makeGETRequest("",params: nil) + self.makeGETRequest("me",params: nil) } if(!FBSDKAccessToken.currentAccessToken().hasGranted("publish_actions")){ @@ -114,7 +114,7 @@ extension FacebookGraphAPIManager { else{ print(FBSDKAccessToken.currentAccessToken()) print("user already logged in") - self.makeGETRequest("",params: nil) + self.makeGETRequest("me",params: nil) return true } @@ -123,7 +123,7 @@ extension FacebookGraphAPIManager { func deAuthorizeApp(viewcontroller: UIViewController) -> Bool{ - return self.makeDELETIONResquest("/permissions", params: nil) + return self.makeDELETIONResquest("me/permissions", params: nil) } @@ -135,7 +135,7 @@ extension FacebookGraphAPIManager { //when making request make sure path starts with '/' func makeGETRequest(requestPath: String!, params: [NSObject: AnyObject]!) -> Bool{ - let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me" + requestPath, parameters: params) + let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: requestPath, parameters: params) var boolResult: Bool = false graphRequest.startWithCompletionHandler({ @@ -154,24 +154,33 @@ extension FacebookGraphAPIManager { //used to post to users timeline, path must start with '/' func makePOSTResquest(requestPath: String!, params: [NSObject: AnyObject]!){ - let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me" + requestPath, parameters: params, HTTPMethod: "POST") - graphRequest.startWithCompletionHandler({ - (id, result, error) -> Void in - print(result) - }) + + /*if(FBSDKAccessToken.currentAccessToken() != nil && FBSDKAccessToken.currentAccessToken().hasGranted("pubish_actions")){*/ + + let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: requestPath, parameters: params, HTTPMethod: "POST") + graphRequest.startWithCompletionHandler({ + (id, result, error) -> Void in + print(result) + //save id in firebase so retrieval can be done later + }) + //} + /*else{ + print("must reauthenticate facebook") + }*/ + } //used to delete permissions and listings from users timeline, path must start with '/' func makeDELETIONResquest(requestPath: String!, params: [NSObject: AnyObject]!) -> Bool{ - let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me" + requestPath, parameters: params, HTTPMethod: "DELETE") + let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: requestPath, parameters: params, HTTPMethod: "DELETE") var boolResult: Bool = false dispatch_async(dispatch_get_main_queue(), { graphRequest.startWithCompletionHandler({ (id, result, error) -> Void in print(result) - if(requestPath == "/permssions"){ + if(requestPath == "me/permssions"){ if(error == nil){ //this part is not getting called but almost have the oauth done boolResult = true diff --git a/Vendoo/ItemImagePickerViewController.swift b/Vendoo/ItemImagePickerViewController.swift index 88785b0..7f1e6db 100644 --- a/Vendoo/ItemImagePickerViewController.swift +++ b/Vendoo/ItemImagePickerViewController.swift @@ -59,13 +59,15 @@ class ItemImagePickerViewController: UIViewController { if(segue.identifier == "SelectNetworkSegue"){ print(self.itemName.text!) print(self.itemDescription.text!) - //print(self.possibleItemImage.image!) + print(self.possibleItemImage.image) print(self.itemPrice.text!) - let dict: Dictionary = ["title":self.itemName.text!, "description":self.itemDescription.text!, "picture": UIImage() /*"picture":self.possibleItemImage.image!*/ , "price":self.itemPrice.text!, "category":self.pickerData[self.categoryPicker.selectedRowInComponent(0)]] - + var dict: Dictionary = ["title":self.itemName.text!, "description":self.itemDescription.text!, "price":self.itemPrice.text!, "category":self.pickerData[self.categoryPicker.selectedRowInComponent(0)]] + dict["picture"] = self.possibleItemImage (segue.destinationViewController as! NetworksTableViewController).setListingDictionary(dict) + (segue.destinationViewController as! NetworksTableViewController).setFBManager(((self.tabBarController as? HomeViewController)?.fbGraphManager)!) + (segue.destinationViewController as! NetworksTableViewController).setNetworkSelectFunctionality(true) print(self.categoryPicker.selectedRowInComponent(0)) } diff --git a/Vendoo/ListingPreviewViewController.swift b/Vendoo/ListingPreviewViewController.swift index f571672..da11ecd 100644 --- a/Vendoo/ListingPreviewViewController.swift +++ b/Vendoo/ListingPreviewViewController.swift @@ -28,6 +28,9 @@ class ListingPreviewViewController: UIViewController { //class variables private var networksDictionary: Dictionary = Dictionary() + private var graphManager: FacebookGraphAPIManager! = nil + private var itemListingDictionary: Dictionary! = Dictionary() + override func viewDidLoad() { super.viewDidLoad() @@ -39,26 +42,34 @@ class ListingPreviewViewController: UIViewController { self.networks.dataSource = self self.networks.backgroundView?.backgroundColor = UIColor.whiteColor() } + + override func viewDidAppear(animated: Bool) { + self.setListing() + } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } - func setListing(pic: UIImage, title: String, description: String, price: String, category: String){ + func setListing(){ //fatal error: unexpectedly found nil while unwrapping an Optional value <- need to figure this out - /* - self.itemPicture.image = pic - self.itemTitle.text = title - self.itemDescription.text = description - self.itemPrice.text = price - self.itemCategory.text = category - */ + + self.itemPicture.image = (self.itemListingDictionary["picture"] as? UIImageView)!.image + self.itemTitle.text = self.itemListingDictionary["title"] as! String + self.itemDescription.text = self.itemListingDictionary["description"] as! String + self.itemPrice.text = self.itemListingDictionary["price"] as! String + self.itemCategory.text = self.itemListingDictionary["category"] as! String } - func setDictionary(dictionary:Dictionary){ - self.networksDictionary = dictionary + func setDictionary(netdictionary:Dictionary, itemdictionary: Dictionary){ + self.networksDictionary = netdictionary + self.itemListingDictionary = itemdictionary + } + + func setFBManager(fbManager: FacebookGraphAPIManager){ + self.graphManager = fbManager } @@ -79,6 +90,12 @@ extension ListingPreviewViewController { @IBAction func publishItem(sender: AnyObject) { + + //publish items to facebook if it is selected + let str = "**"+self.itemTitle.text!+"**"+"\n\n"+"Sellng for: "+self.itemPrice.text!+"\n\n"+self.itemDescription.text! + let parameters = ["message":str] + + self.graphManager.makePOSTResquest("me/feed", params: parameters) } @@ -142,18 +159,45 @@ extension ListingPreviewViewController: UICollectionViewDataSource { switch (indexPath.row){ case 0: - cell = collectionView.dequeueReusableCellWithReuseIdentifier("ebay", forIndexPath: indexPath) + + if(self.networksDictionary["ebay"] == false){ + cell.hidden = true + } + else{ + cell.hidden = false + } break case 1: cell = collectionView.dequeueReusableCellWithReuseIdentifier("amazon", forIndexPath: indexPath) + + if(self.networksDictionary["amazon"] == false){ + cell.hidden = true + } + else{ + cell.hidden = false + } break case 2: cell = collectionView.dequeueReusableCellWithReuseIdentifier("etsy", forIndexPath: indexPath) + + if(self.networksDictionary["etsy"] == false){ + cell.hidden = true + } + else{ + cell.hidden = false + } break default: cell = collectionView.dequeueReusableCellWithReuseIdentifier("facebook", forIndexPath: indexPath) + + if(self.networksDictionary["facebook"] == false){ + cell.hidden = true + } + else{ + cell.hidden = false + } break } diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift index ae93fa1..02848bf 100644 --- a/Vendoo/NetworksTableViewController.swift +++ b/Vendoo/NetworksTableViewController.swift @@ -26,6 +26,8 @@ class NetworksTableViewController: UIViewController { private var networkToggleOrSelect: Bool = false private var networksDictionary: Dictionary = ["ebay":false, "amazon":false,"etsy":false,"facebook":false] private var itemListingDictionary: Dictionary! = Dictionary() + private var graphManager: FacebookGraphAPIManager! = nil + override func viewDidLoad() { @@ -63,6 +65,10 @@ extension NetworksTableViewController { } + func setFBManager(fbManager: FacebookGraphAPIManager){ + self.graphManager = fbManager + } + } @@ -75,9 +81,10 @@ extension NetworksTableViewController { // Pass the selected object to the new view controller. if(segue.identifier == "ItemPreviewSegue"){ - (segue.destinationViewController as! ListingPreviewViewController).setListing(self.itemListingDictionary["picture"] as! UIImage, title: self.itemListingDictionary["title"] as! String, description: self.itemListingDictionary["description"] as! String, price: self.itemListingDictionary["price"] as! String, category: self.itemListingDictionary["category"] as! String) - (segue.destinationViewController as! ListingPreviewViewController).setDictionary(self.networksDictionary) + (segue.destinationViewController as! ListingPreviewViewController).setDictionary(self.networksDictionary, itemdictionary: self.itemListingDictionary) + (segue.destinationViewController as! ListingPreviewViewController).setFBManager(self.graphManager) + } } } @@ -121,6 +128,7 @@ extension NetworksTableViewController: UITableViewDataSource { default: //loads network cell for ebay cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) + break } @@ -146,10 +154,12 @@ extension NetworksTableViewController: UITableViewDataSource { //loads network cell for facebook cell = (self.tableView.dequeueReusableCellWithIdentifier("facebook", forIndexPath: indexPath) as! FBTableViewCell) - if((self.tabBarController as? HomeViewController)?.fbGraphManager.isAuthorized)!{ + let tabBar = self.tabBarController + if((tabBar as? HomeViewController)?.fbGraphManager.isAuthorized == true){ (cell as! FBTableViewCell).networkToggle.setOn(true, animated: false) } + break } } @@ -445,7 +455,7 @@ extension NetworksTableViewController: UITableViewDelegate { let didSucceed: Bool = ((tabBar as? HomeViewController)?.fbGraphManager.authorizeApp(self))! cell.networkToggle.on = didSucceed - //self.fbGraphManager.authorizeApp(self) + }