0

そこで、Unity の Let's Tweet という Unity アセット ストアからこの無料のプラグインを入手しました。これは、テキストの投稿には完全に機能しますが、 https://upload.twitter.com/1/statuses/update_with_media.xmlの使用方法がわかりません。

http://api.twitter.com/1/statuses/update.xml?status= {0}の代わりに使用されています。それは私がよく知らない C# で書かれており、Twitter API の経験もありません。一般的に、私はコーディングが初めてです。私はJSを学んでいます。

このプラグインは、コンシューマ キーやシークレットなどを使って Twitter と通信するのが最も難しいと思われる部分を実行しました。変更する必要があると思われる部分を以下に示しますが、ファイル全体を送信することもできます。

private static readonly string PostTweetURL = "http://api.twitter.com/1/statuses/update.xml?status={0}";

    public static IEnumerator PostTweet(string text, string consumerKey, string consumerSecret, AccessTokenResponse response, PostTweetCallback callback)
    {
        if (string.IsNullOrEmpty(text) || text.Length > 140)
        {
            Debug.Log(string.Format("PostTweet - text[{0}] is empty or too long.", text));

            callback(false);
        }
        else
        {
            string url = string.Format(PostTweetURL, UrlEncode(text));
            Dictionary<string, string> parameters = new Dictionary<string, string>();

            parameters.Add("status", text);

            // Need to fill body since Unity doesn't like an empty request body.
            byte[] dummmy = new byte[1];
            dummmy[0] = 0;

            // HTTP header
            Hashtable headers = new Hashtable();
            headers["Authorization"] = GetHeaderWithAccessToken("POST", url, consumerKey, consumerSecret, response, parameters);

            WWW web = new WWW(url, dummmy, headers);
            yield return web;

            if (!string.IsNullOrEmpty(web.error))
            {
                Debug.Log(string.Format("PostTweet - failed. {0}", web.error));
                callback(false);
            }
            else
            {
                string error = Regex.Match(web.text, @"<error>([^&]+)</error>").Groups[1].Value;

                if (!string.IsNullOrEmpty(error))
                {
                    Debug.Log(string.Format("PostTweet - failed. {0}", error));
                    callback(false);
                }
                else
                {
                   callback(true);
                }
            }
        }
    }
4

1 に答える 1

-1

これを試してみてください: UniShareは、twitter への写真の投稿をサポートしています。さらに、Facebook、リンクなど、他の多くのソーシャルプラットフォームへの共有もサポートしています。また、iOS、Android、Mac をサポートしています。

于 2013-06-07T07:33:10.087 に答える