在Twitter上发布图片

时间:2015-10-29 05:32:48

标签: angularjs cordova twitter ionic-framework angular-http

我正在开发一款应用。我已经使用OAuth登录了。现在我想将一个图像发布到我的Twitter帐户。但每次我收到容量错误消息。我在将我的字符串转换为Base64后尝试使用Both media和media_data。我正在尝试使用Ionic和Angular JS。你也可以建议我任何其他解决方案。 我的代码如下。

        var clientId = "**************";
        var clientSecret = "*****************";
        /** Twitter oauth for User Details **/
        // Accessing profile info from twitter
        var oauthObject = {
            oauth_consumer_key: clientId,
            oauth_nonce: $cordovaOauthUtility.createNonce(10),
            oauth_signature_method: "HMAC-SHA1",
            oauth_token: token.oauth_token,
            oauth_timestamp: Math.round((new Date()).getTime() / 1000.0),
            oauth_version: "1.0"
        };
       var signatureObj = $cordovaOauthUtility.createSignature("POST", "https://upload.twitter.com/1.1/media/upload.json" , oauthObject, { }, clientSecret, token.oauth_token_secret);
        $http.defaults.headers.common.Authorization = signatureObj.authorization_header;
         //$http.post(url, {media_data: 'base64'},{headers: { 'Content-Type': 'multipart/form-data'}}).success(function(
         $http.post(url, {media: 'Image URL'},{headers: { 'Content-Type': 'multipart/form-data'}}).success(function(result) {
            console.log(result)
            })
          .error(function(result) {
              console.log(result)
            });

任何身体都可以帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

我试过这些:

https://github.com/saimon24/ng-twitter

https://devdactic.com/twitter-rest-api-angularjs/

我在Post请求中发送了Base64字符串。

var MEDIA_UPLOAD_URL = 'https://upload.twitter.com/1.1/media/upload.json';

//A custom function in Twitte Api
postMedia: function (base64Media, parameters) {
  return postRequest(MEDIA_UPLOAD_URL, {media: base64Media}, parameters);
},