2015-10-06 8 views
7

मैंने Fabric.app के माध्यम से एक प्रोजेक्ट में ट्विटर एसडीके स्थापित किया है।फ़ैब्रिक के माध्यम से ट्विटर इंस्टॉल किया गया, लॉगिन कार्य, ट्वीट्स का अनुरोध करने में लगातार त्रुटि

print("Failed to load tweets: \(error!.localizedDescription)") 
print(error?.localizedFailureReason) 

और इस त्रुटि मिलती है:

Failed to load tweets: Request failed: forbidden (403) 
Optional("Twitter API error : Unable to verify your credentials (code 99)") 

लेकिन जब मैं मैं अपने ट्विटर खाते में प्रवेश करने, लेकिन जब मैं कुछ भी ट्वीट का अनुरोध करने के लिए संबंधित कर में सक्षम हूँ, मैं इन print बयान में फेंक दिया

print("Twitter.sharedInstance().sessionStore.session()?.userID is \(Twitter.sharedInstance().sessionStore.session()?.userID)") 

मेरीमें एक Fabric प्रविष्टि नहीं है: मेरे TVC पर viewDidLoad में यह पंक्ति जोड़, मैं कोई मान। मैंने Fabric.app स्थापना से इसे परिवर्तित या कुशल नहीं किया।

मेरी AppDelegate.swift के didFinishLoadingWithOptions में:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // I tried using the consumerKey/consumerSecret for Fabric & Twitter for S's & G's to no avail 
    Twitter.sharedInstance().startWithConsumerKey("myConsumerKey", consumerSecret: "myConsumerSecret") 
    Fabric.with([Twitter.self()]) 
    return true 
} 

मैं फैब्रिक के ट्विटर सेटअप चेकलिस्ट फिर से के माध्यम से भाग गया: सेटअप और मैं सब कुछ किया है, फिर भी मैं जाहिरा तौर पर कुछ mucked गए हैं। फैब्रिक की वेबसाइट से नमूना कोड मेरे लिए "बॉक्स से बाहर" काम नहीं करता है। कोई विचार फिर से: समस्या को देखने के लिए कहां? मैं विचारों से बाहर हूं।

+0

मैं इस तरह एक समस्या हुई है। इसमें मुझे लॉग इन करना और मेरे ट्विटर खाते –

+0

धन्यवाद के लिए सेटिंग्स से लॉग इन करना शामिल था। मैंने ऐसा किया, नक़्क़ाशीदार डेटा, साफ किए गए कैश, रीबूट, इत्यादि। – Adrian

+3

क्या आप अपनी कॉल करने से पहले 'Twitter.sharedInstance()। LoginWithCompletion()' को कॉल कर रहे हैं? यहां तक ​​कि यदि आपके पास वैध उपयोगकर्ता है, तो भी आपको अपनी ओर से ट्विटर से बात करने के लिए अपने एप्लिकेशन विशेषाधिकार देने के लिए ओथ नृत्य करना होगा। –

उत्तर

5

जब आप ट्वीट्स का अनुरोध करते हैं तो मुझे लगता है कि आपका कोड निम्न जैसा दिखता है, सही?

let client = TWTRAPIClient() 
let dataSource = TWTRUserTimelineDataSource(screenName: "fabric", APIClient: client) 

बाहर कर देता है अपनी दस्तावेज़ीकरण अधूरा है, ऐसा लगता है जैसे

let userID = Twitter.sharedInstance().sessionStore.session()?.userID 
let client = TWTRAPIClient(userID: userID) 
let dataSource = TWTRUserTimelineDataSource(screenName: "fabric", APIClient: client) 

ग्राहक वस्तु अपनी बात करने के लिए अपने उपयोगकर्ता की जानकारी की जरूरत है दिखना चाहिए। मेरी भी यही समस्या थी।

+0

धन्यवाद! मुझे पता था कि यह कुछ आसान था, लेकिन यह आसान नहीं है। – Adrian

+0

निश्चित रूप से! जब दस्तावेज़ अपराधी होता है तो यह हमेशा कठिन होता है – MadeByDouglas

1

एक और बदलें ... यह अब APIClient यह अब है apiClient

let userID = Twitter.sharedInstance().sessionStore.session()?.userID 
let client = TWTRAPIClient(userID: userID) 
let dataSource = TWTRUserTimelineDataSource(screenName: "fabric", apiClient: client) 
संबंधित मुद्दे