不能发布图片到Twitter。接收的验证挑战为空 [英] Can't post image to Twitter. Received authentication challenge is null

查看:370
本文介绍了不能发布图片到Twitter。接收的验证挑战为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

登录流程后,我存储访问令牌和accesss在preFS令牌秘密。现在,我想用TwitPic张贴图片到Twitter。

更新:我试图设置日期和放大器;时间上设备自动。存在于我的Twitter的应用程序的回调URL。它仍然显示错误。

我的code

 公共静态布尔tweetMessageAndPhoto(最后的字符串消息,最后弦乐photoPath){
    最后ConfigurationBuilder CB =新ConfigurationBuilder();
    cb.setDebugEnabled(真正的);
    cb.setOAuthAccessToken(getAccessTokenStr());
    cb.setOAuthAccessTokenSecret(getAccessTokenSecretStr());
    cb.setOAuthConsumerKey(Constant.CONSUMER_KEY);
    cb.setOAuthConsumerSecret(Constant.ACCESS_TOKEN_SECRET);
    cb.setMediaProviderAPIKey(Constant.MEDIA_KEY);
    最终配置的conf = cb.build();

    最后ImageUpload上传=新ImageUploadFactory(CONF).getInstance(MediaProvider.TWITPIC);

    尝试 {
        最后弦乐URI = upload.upload(新文件(photoPath),消息);
        的System.out.println(===== URI:+ URI);
        返回true;
    }赶上(最终TwitterException E){
        e.printStackTrace();
        ShowLog.showLogError(TAG,无法鸣叫请再试一次。);
    }
    返回false;
}
 

我得到这个错误:

  W / System.err的(14566):已收到认证挑战是nullRelevant讨论,可以在互联网上找到:
W / System.err的(14566):http://www.google.co.jp/search?q=ea09dc6d或
W / System.err的(14566):http://www.google.co.jp/search?q=049b821e
W / System.err的(14566):TwitterException {异常code = [ea09dc6d-049b821e 0237e8c8-8ed4bd69],状态code = -1,retryAfter = -1,rateLimitStatus = NULL,featureSpecificRateLimitStatus = NULL,版本= 2.2.3}
W / System.err的(14566):在twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:204)
W / System.err的(14566):在twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65)
W / System.err的(14566):在twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:114)
W / System.err的(14566):在twitter4j.media.AbstractImageUploadImpl.upload(AbstractImageUploadImpl.java:111)
W / System.err的(14566):在twitter4j.media.AbstractImageUploadImpl.upload(AbstractImageUploadImpl.java:80)
W / System.err的(14566):在app.jp.cropnet.twitter.TwitterHelper.tweetMessageAndPhoto(TwitterHelper.java:121)
W / System.err的(14566):在app.jp.cropnet.twitter.TwitterDemoActivity.tweetMessageAndPhoto(TwitterDemoActivity.java:81)
W / System.err的(14566):在app.jp.cropnet.twitter.TwitterDemoActivity.access $ 1(TwitterDemoActivity.java:78)
W / System.err的(14566):在app.jp.cropnet.twitter.TwitterDemoActivity $ 2.onClick(TwitterDemoActivity.java:40)
W / System.err的(14566):在android.view.View.performClick(View.java:2461)
W / System.err的(14566):在android.view.View $ PerformClick.run(View.java:8890)
W / System.err的(14566):在android.os.Handler.handleCallback(Handler.java:587)
W / System.err的(14566):在android.os.Handler.dispatchMessage(Handler.java:92)
W / System.err的(14566):在android.os.Looper.loop(Looper.java:123)
W / System.err的(14566):在android.app.ActivityThread.main(ActivityThread.java:4627)
W / System.err的(14566):在java.lang.reflect.Method.invokeNative(本机方法)
W / System.err的(14566):在java.lang.reflect.Method.invoke(Method.java:521)
W / System.err的(14566):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:871)
W / System.err的(14566):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
W / System.err的(14566):在dalvik.system.NativeStart.main(本机方法)
W / System.err的(14566):java.io.IOException异常:产生的原因接收的验证挑战为空
W / System.err的(14566):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.doRequestInternal(HttpURLConnectionImpl.java:1694)
W / System.err的(14566):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.doRequest(HttpURLConnectionImpl.java:1649)
W / System.err的(14566):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponse$c$c(HttpURLConnectionImpl.java:1374)
W / System.err的(14566):在org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getResponse$c$c(HttpsURLConnectionImpl.java:117)
W / System.err的(14566):在twitter4j.internal.http.Htt presponseImpl< INIT>(Htt的presponseImpl.java:35)。
W / System.err的(14566):在twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:168)
W / System.err的(14566):19 ...更多
 

解决方案

如果你正在使用模拟器,这应该做工精细, 如果你只在真正的设备收到错误,请检查您插入手机SIM卡的自动更新时间功能启用。 有一次,我钻进了问题,更换SIM卡与其他网络解决我的问题。

After the login flow, I store access token and accesss token secret in prefs. Now I want to post image to Twitter using TwitPic.

Updated: I tried to set date&time on device to automatic. The callback URL in my Twitter app exists. It still shows error.

My code

public static boolean tweetMessageAndPhoto(final String message, final String photoPath) {
    final ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true);
    cb.setOAuthAccessToken(getAccessTokenStr());
    cb.setOAuthAccessTokenSecret(getAccessTokenSecretStr());
    cb.setOAuthConsumerKey(Constant.CONSUMER_KEY);
    cb.setOAuthConsumerSecret(Constant.ACCESS_TOKEN_SECRET);
    cb.setMediaProviderAPIKey(Constant.MEDIA_KEY);              
    final Configuration conf = cb.build();

    final ImageUpload upload = new ImageUploadFactory(conf).getInstance(MediaProvider.TWITPIC);

    try {
        final String uri = upload.upload(new File(photoPath), message);
        System.out.println("================URI: " + uri);
        return true;
    } catch (final TwitterException e) {
        e.printStackTrace();
        ShowLog.showLogError(TAG, "Could not tweet. Please try again.");
    }
    return false;
}

I get this error:

W/System.err(14566): Received authentication challenge is nullRelevant discussions can be on the Internet at:
W/System.err(14566):    http://www.google.co.jp/search?q=ea09dc6d or
W/System.err(14566):    http://www.google.co.jp/search?q=049b821e
W/System.err(14566): TwitterException{exceptionCode=[ea09dc6d-049b821e 0237e8c8-8ed4bd69], statusCode=-1, retryAfter=-1, rateLimitStatus=null, featureSpecificRateLimitStatus=null, version=2.2.3}
W/System.err(14566):    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:204)
W/System.err(14566):    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65)
W/System.err(14566):    at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:114)
W/System.err(14566):    at twitter4j.media.AbstractImageUploadImpl.upload(AbstractImageUploadImpl.java:111)
W/System.err(14566):    at twitter4j.media.AbstractImageUploadImpl.upload(AbstractImageUploadImpl.java:80)
W/System.err(14566):    at app.jp.cropnet.twitter.TwitterHelper.tweetMessageAndPhoto(TwitterHelper.java:121)
W/System.err(14566):    at app.jp.cropnet.twitter.TwitterDemoActivity.tweetMessageAndPhoto(TwitterDemoActivity.java:81)
W/System.err(14566):    at app.jp.cropnet.twitter.TwitterDemoActivity.access$1(TwitterDemoActivity.java:78)
W/System.err(14566):    at app.jp.cropnet.twitter.TwitterDemoActivity$2.onClick(TwitterDemoActivity.java:40)
W/System.err(14566):    at android.view.View.performClick(View.java:2461)
W/System.err(14566):    at android.view.View$PerformClick.run(View.java:8890)
W/System.err(14566):    at android.os.Handler.handleCallback(Handler.java:587)
W/System.err(14566):    at android.os.Handler.dispatchMessage(Handler.java:92)
W/System.err(14566):    at android.os.Looper.loop(Looper.java:123)
W/System.err(14566):    at android.app.ActivityThread.main(ActivityThread.java:4627)
W/System.err(14566):    at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err(14566):    at java.lang.reflect.Method.invoke(Method.java:521)
W/System.err(14566):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
W/System.err(14566):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
W/System.err(14566):    at dalvik.system.NativeStart.main(Native Method)
W/System.err(14566): Caused by: java.io.IOException: Received authentication challenge is null
W/System.err(14566):    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.doRequestInternal(HttpURLConnectionImpl.java:1694)
W/System.err(14566):    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.doRequest(HttpURLConnectionImpl.java:1649)
W/System.err(14566):    at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:1374)
W/System.err(14566):    at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:117)
W/System.err(14566):    at twitter4j.internal.http.HttpResponseImpl.<init>(HttpResponseImpl.java:35)
W/System.err(14566):    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:168)
W/System.err(14566):    ... 19 more

解决方案

If you are using simulator, this should work fine, and if you are getting error only on real device, please check that the sim card you inserted in the phone has automatic time update feature enable. I once got into the problem, changing sim card from other network solved my problem.

这篇关于不能发布图片到Twitter。接收的验证挑战为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆