【问题标题】:How to post an image to twitter from c# (unity)如何从 c#(统一)将图像发布到 Twitter
【发布时间】:2020-10-16 08:55:49
【问题描述】:

我正在尝试从我的统一应用程序将图像发布到 Twitter。

我的目标是让玩家在推特账户上发布一张图片。

我试过了

Application.OpenURL("http://twitter.com/intent/tweet/?text=a message to be tweeted");

这是完美的,因为玩家必须在自己的浏览器中输入他们的用户名和密码。 但我也想添加一张图片。

我试图改变

?文本=

?媒体=

我在一个网站上看到 twitter 接受“媒体”参数,但由于 Application.OpenURL(""); 接受字符串,我无法将要发布的图像的字节 [] 传递到此 URL 以查看它是否有效或不是。

我使用了Convert.ToBase64String(byte[] data),但由于某种原因,Application.OpenURL(""); 无法使用它。我认为这是因为我从 byte[] 制作的字符串的长度变得如此之长。

我还在谷歌上搜索了很多登录 twitter 或发布图片的方法,但他们大多使用第三方库,而且大多数看起来不错的答案都是用 asp mvc 而不是 unity 编写的。

提前致谢。

【问题讨论】:

    标签: c# unity3d twitter


    【解决方案1】:

    阅读他们的文档,如果您想将媒体作为字符串传递,请使用media_data 而不是media。您需要在线查找如何将 byte[] 转换为 Base64 字符串。

    https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-upload

    此外,您需要指定 media_category 以让 Twitter 知道它是 tweet_image

    【讨论】:

    • amm.. 我实际上不明白它是 media_data 我需要通过我提到的链接传递的参数的名称?除此之外,“upload.twitter.com/1.1/media/upload.json”只接受经过身份验证的请求,我不知道该怎么做。
    • 我不清楚您是否只想使用网络意图。从我在他们的文档中可以看到,没有 media 参数。 developer.twitter.com/en/docs/twitter-for-websites/tweet-button/…你读过哪个网站说有?
    • 看来我错了,或者我把两件事混淆了。算了,你觉得我怎么能达到这个目标?您是否有任何链接或知道任何可以帮助我验证用户身份然后发布图像的教程?如果你这样做,我希望你请你与我分享。 twitter 的开发者文档让我很困惑。提前致谢。
    • Web 身份验证在大多数流行的社交媒体(如 Twitter、Facebook、Twitch 等)中几乎是标准的。我没有教程或链接,但您可能应该开始搜索或观看与相关的 YouTube 视频关于 C# 的“rest api authentication basics”或“oauth”主题。如果您是唯一使用此代码的人,您可以硬编码用户名/密码,但如果不是,您需要找到更强大的解决方案。
    猜你喜欢
    • 2013-01-15
    • 2013-06-10
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 2023-03-06
    • 2016-03-22
    相关资源
    最近更新 更多