मैं अपने ऐप में रनकीपर का उपयोग करके इसे कनेक्ट करने और उससे डेटा लाने के लिए उपयोग कर रहा हूं। एक बटन के क्लिक पर यह मुझे ब्राउज़र पर निर्देशित करता है जहां मैं रनकीपर के वेब ऐप पर लॉगिन करता हूं, एक्सेस टोकन और user_Id लाने के बाद सेवा दबाता हूं और मेरे एपिकेशन पर वापस लौटाता हूं। अब फिर से अगर मैं अपने ऐप में बटन पर क्लिक करने के लिए क्लिक करता हूं, तो यह सीधे मुझे अपने ऐप पर रीडायरेक्ट करने के लिए कहता है, लेकिन मैं जो चाहता हूं वह यह है कि प्रत्येक बार जब मैं कनेक्ट करने के लिए क्लिक करता हूं, तो उसे लॉगिन के लिए पूछना चाहिए। मुझे पता है कि मुझे कैश और कुकीज़ को साफ़ करना है, लेकिन यह नहीं पता कि कैसे।रंकीपर लॉगिन
@IBAction func btnRunKeeperClicked(sender: AnyObject) {
MSYRunKeeper.shareInstance.loginWithRunKeeper { (result, success) in
print(result)
if success{
print(result)
let accessToken = result["accessToken"] as? String ?? ""
self.hitServiceToGetDataFromRunkeeper(accessToken)
}else{
print("error...")
}
}
}
समारोह hitServiceToGetDataFromRunkeeper (accessToken: स्ट्रिंग) {
showActivityIndicator(true, inViewConroller: self, animated: true)
let dict = HelperClass.userDefaultForAny("User_Detail")
var userID = ""
var serviceKey = ""
if(dict != nil){
userID = (dict!["userID"] as? String)!
serviceKey = (dict!["service_key"] as? String)!
}
var paramDictionary = NSMutableDictionary()
paramDictionary = ["method":"runkeeperLogin","service_key":serviceKey,"userID":userID,"runkeeperAccessToken":accessToken,"isRunkeeperConnect":"1"]
print_debug(paramDictionary)
FSServicesClass.sharedInstance.postWithParamater(paramDictionary, sBlock: { (result) in
if(NSDictionary(dictionary: result).valueForKey("success")?.integerValue == 1){
showActivityIndicator(false, inViewConroller: self, animated: true)
self.btnRunKeeperConnected.setTitle("Connected", forState: .Normal)
if self.btnFitBitConnected.titleLabel?.text == "Connected"{
self.btnFitBitConnected.setTitle("Disconnected", forState: .Normal)
}
print(result)
let dict = HelperClass.userDefaultForAny("User_Detail")
HelperClass.removeFromUserDefaultForKey("User_Detail")
let dict2 = updateUserDetailForConnetectdAppsAndDevices(dict!, isfitbitConnected: "0", isRunkeeperConnected: "1")
HelperClass.saveToUserDefault(dict2, key: "User_Detail")
popAlertMessageController(self, title: "Alert", message: NSDictionary(dictionary: result).valueForKey("errstr") as? String ?? "")
}else{
showActivityIndicator(false, inViewConroller: self, animated: true)
popAlertMessageController(self, title: "Alert", message: NSDictionary(dictionary: result).valueForKey("errstr") as? String ?? "")
}
}, fBlock: {(ErrorResult) in
showActivityIndicator(false, inViewConroller: self, animated: true)
popAlertMessageController(self, title: "Please try again", message: NSDictionary(dictionary: ErrorResult).valueForKey("errstr") as? String ?? "")
//print(ErrorResult)
})
}
क्या आप रनकीपर एपीआई साझा कर सकते हैं जिसका आप उपयोग कर रहे हैं? –
क्या आप OAuth 1.0 या OAuth 2.0 का उपयोग कर रहे हैं? OAuth 2.0 – iDeveloper
क्या आप वाकई क्लिक बटन पर अपने कैश/कुकीज़ साफ़ कर रहे हैं? – Ishika