2011-11-10 29 views
0

私のプロジェクトでは、最初のアクティビティで自分のFacebookアカウントを認証し、今日の誕生日を持つ友人のID、名前、誕生日、写真を取得しました。私はそれらを次の活動に束ね、リストビューに写真と名前を表示しました。リストをクリックすると、壁にメッセージを投稿したいと思います。私はリストビューをクリックしながら、友人の壁に投稿するために次のコードを使用しました。投稿者facebook wall

public static String APP_ID = "my_app_id"; 
     public static Facebook authenticatedFacebook = new Facebook(APP_ID); 

私のリストビューonclickitemlistnerでは、次のコードを使用しました。 id_listは、友人のIDを含むArrayListです。

try{ 
         Bundle parameters = new Bundle(); 
         JSONObject attachment = new JSONObject(); 

         try { 
          attachment.put("message", "Many more returns of the day"); 


         } catch (JSONException e) { 
         } 
         parameters.putString("attachment", attachment.toString()); 

         parameters.putString("target_id", id_list.get(position)); 
         parameters.putString("method", "stream.publish"); 
         String response = authenticatedFacebook.request(parameters);  
         Log.v("response", response); 
        } 
        catch(Exception e){} 

私の回答で無効なAPIキーがあります。しかし、私は正しい鍵を使いました。

11-10 16:21:53.987: V/response(396): {"error_code":101,"error_msg":"Invalid API key","request_args":[{"key":"method","value":"stream.publish"},{"key":"attachment","value":"{\"message\":\"Many more returns of the day\"}"},{"key":"format","value":"json"},{"key":"target_id","value":"100000635832872"}]} 

私は自分のアカウントを認証した最初のアクティビティで、検索した友人のIDを使用して同じコードを投稿しました。それはうまく動作します。しかし、リストビューでそれらを表示する2番目のアクティビティでは機能しません。セッションが有効かどうかを確認しました。無効になります。

+0

あなたは友人がアプリをhi wallにコメントすることを許可していないと思います。それじゃない? FBにダイアログが表示され、アプリケーションにデータへのアクセスを許可するかどうかを尋ねる覚えがないのですか? – Arslan

+0

彼の壁に投稿する方法。どのように私はこれを達成することができます私に提案してください。 – Manikandan

+0

アクティビティで同じコードを試してみましたが、ここで自分のアカウントを認証しました。それはうまく動作し、メッセージは友人の壁に投稿されます。問題はセッションにあると思う。 – Manikandan

答えて

0

私はそれを稼働させました。 Facebook.javaクラスを変更するだけです。 DEFAULT_AUTH_ACTIVITY_CODEをFORCE_DIALOG_AUTHに変更しました。 Facebookのセッションをチェックしてください。それは私のコードで正常に動作します。

0

ユーザーアクセストークンをお持ちですか?あなたがそのリクエストをしているときに認証されたユーザーがいるという兆候はありません。

+0

実際、私は最初のアクティビティで自分のFacebookアカウントを認証し、友人のID、画像、誕生日を取得しました。現在の誕生日を持つ友人がいるかどうかをチェックします。そうであれば、その友人の詳細を別のアクティビティにまとめます。ここでリストビューにリストされます。 – Manikandan

+0

そのユーザーからpublish_stream権限を持っていますか?通常、エラーメッセージは、不正なアクセストークンまたはそのようなものがあることを意味します。 – Igy

+0

自分のアカウントを認証するアクティビティの[]にpublic_streamを追加しました。 – Manikandan

関連する問題