When I made use of the "App Card Composer" to post a Tweet.I received 403


#1

05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: Post Tweet failed
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: com.twitter.sdk.android.core.TwitterApiException: 403 Forbidden
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:383)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
05-17 15:37:06.895 7071-7071/com.example.app.twitter E/TweetUploadService: at java.lang.Thread.run(Thread.java:838)
05-17 15:37:06.898 7071-7071/com.example.app.twitter E/TweetFailureReceiver: Intent { cmp=com.example.app.twitter/com.twitter.sdk.android.tweetcomposer.TweetUploadService (has extras)SCENE[-1] }

Who can tell me why? Please!!!


#2

Hey @rberyou,

Have you applied for permission to post App Cards? A 403 usually means your app hasn’t been approved for this. Please check out the requirements here: https://docs.fabric.io/ios/twitter/compose-tweets.html?highlight=app%20card#requirements


#3

Hey!
We want to use AppCards Composer on our Android App to make users enable to post tweet with pictures. First, we created an app on https://apps.twitter.com/ and got Consumer Key and Consumer secret. Then we sent an email with Consumer key and our application’s link to twitter and got reply as below:

When we use Fabric Plugin to access twitter kits, We entered Consumer Key and Consumer secret on this step as below.

However, after we finished access to twitter kits and began to run it. It produced another Consumer Key and Consumer secret on https://fabric.io. Then, no matter witch consumer key and consumer secret we use to post a tweet with pictures, we always get log as below:

We are really confused now and don’t know what to do next. We hope you can give us some help.


#4

Thanks for those extra details @rberyou, very helpful. The issue is likely due to the different configurations given to a key created through Fabric versus those created on apps.twitter.com. Can you email the consumer key created through apps.twitter.com that has been white-listed for composing app cards into support(at)fabric(dot)io and I’ll ensure it gets the privileges normally granted to Fabric based apps.

Then you’ll be able to use that key and secret, ignore the Fabric created ones and you’ll be good to go :slight_smile:


#5

hiii i suuccesfully got the post id after tweet but my problem is the post id i get take at least 5 to 10 seconds,which causes my app flow is there any way to get callback for succes and failure so i will mange it by showing a laoder in a delayed time…