2011-05-06 8 views
7

हाय मैं अपने एंड्रॉइड ऐप से फेसबुक कनेक्ट जोड़ने की कोशिश कर रहा हूं, मैंने ऐप के साथ अपनी दीवार पर पोस्ट करने में कामयाब रहा लेकिन जब मैंने एंड्रॉइड फेसबुक ऐप डाउनलोड किया और उस पर लॉग इन किया लेकिन अब मैं नहीं कर सकता मेरी दीवार पर पोस्ट करें। मैं इस त्रुटि हो रही है:एंड्रॉइड फेसबुक .. एक्सेसटोकन कैसे प्राप्त करें

{"error":{"type":"OAuthException","message":"An active access token 
must be used to query information about the current user."}} 

कोड:

सार्वजनिक वर्ग FacebookLogin फैली गतिविधि {

private static final String APP_API_ID = "080808998-myappId"; 
Facebook facebook = new Facebook(APP_API_ID); 
private AsyncFacebookRunner mAsyncRunner; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);  

    mAsyncRunner = new AsyncFacebookRunner(facebook); 

    SessionStore.restore(facebook, this); 
    SessionEvents.addAuthListener(new SampleAuthListener()); 
    Log.i("Error", facebook.getAccessToken()+"tokenId"); 
    facebook.dialog(FacebookLogin.this, "feed", new SampleDialogListener()); 

} 

public void postOnWall(String msg) { 
    try { 
      Bundle bundle = new Bundle(); 
      bundle.putString("message", msg); 
      bundle.putString("from", "fromMe"); 
      bundle.putString("link","facebook.com"); 
      bundle.putString("name","name of the link facebook"); 
      bundle.putString("description","some description here"); 

      //bundle.putString(Facebook.TOKEN, accessToken); 

      bundle.putString("picture", "http://url to image"); 
      String response = facebook.request("me/feed",bundle,"POST"); 

      Log.d("Error", "got response: " + response); 
      if (response == null || response.equals("") || 
        response.equals("false")) { 
       Log.v("Error", "Blank response"); 
      } 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 

} }

टोकन मैं हो रही है रिक्त है।

उत्तर

2

आपने यह जांच नहीं की कि सत्र मान्य है या नहीं।
यदि नहीं, तो आपको अधिकृत करना होगा।

आपको अपने ऐप का उपयोग करने और ऐप को अनुमति देने के लिए पहली बार फेसबुक में साइन इन करना होगा।

फिर आपको पहली बार एक्सेस टोकन मिल जाएगा।

फिर आपको अपना सत्र स्टोर करना चाहिए और फिर ऐप का उपयोग करते समय आपको यह त्रुटि नहीं मिलेगी।

ऐसा करने के लिए, से Facebook_Android_SDK

नोट उदाहरण आवेदन LoginButton.java init() विधि की समीक्षा करें:, अगर यह पहली बार है या नहीं एक बूलियन ध्वज अपने SharedPreferences में संग्रहीत इंगित करने के लिए इतना
बनाने प्रत्येक बार जब आप एप्लिकेशन का उपयोग करते हैं तो लॉगिन संवाद पॉप-अप नहीं होता है।

+0

धन्यवाद लेकिन मुझे समझ में नहीं आता कि मुझे कहां पहुंच रहा है .. अगर मैं फेसबुक करता हूं। प्राधिकृत करें (यह, नया स्ट्रिंग [] {"publ_stream"}, .. मुझे बदले में एक आईडी मिलती है लेकिन यह एक टोकन नहीं है जिसे मैंने कोशिश की आप मदद करते हैं। मैं sessionId या TokenId कैसे प्राप्त करूं ... धन्यवाद – user606669

+0

फेसबुक के पूर्ण समारोह में getaccesstoken को कॉल करके हल करने में समस्या हल करें और वरीयताओं में संग्रहीत करें ताकि हर बार यह प्राथमिकताओं के लिए जांच करे और वहां से पहुंच टोकन लोड करें – user606669

संबंधित मुद्दे