【问题标题】:Post images on Google+ through url通过网址在 Google+ 上发布图片
【发布时间】:2013-05-03 10:04:47
【问题描述】:
我想通过我的 Titan 应用程序在 google+ 上发布图片和视频。这是我正在使用的网址:
var webView = Ti.UI.createWebView({
url: 'https://plus.google.com/share?client_id=1234567889.apps.googleusercontent.com&continue='+Ti.App.id+'%3A%2F%2Fshare%2F&text='+textToShare+'&url='+urlToShare+'&bundle_id='+Ti.App.id+'&gpsdk=1.0.0'
});
win.add(webView);
谁能告诉我,如何在上面的网址中传递图片作为参数?
任何帮助将不胜感激。
谢谢
【问题讨论】:
标签:
image
api
url
titanium
google-plus
【解决方案1】:
目前无法通过 URL、按钮或 SDK 共享图像。
事实上,对于分享网址,您会在 Google+ 信息流的分享框中注意到,您无法同时进行链接预览和图片上传,这可能是为什么您正在寻找的共享选项不提供此功能。
【解决方案2】:
您可以在 Google+ 上添加/上传图片:
参考链接:https://developers.google.com/+/domains/posts/creating
// Helper function courtesy of https://github.com/guzzle/guzzle/blob/3a0787217e6c0246b457e637ddd33332efea1d2a/src/Guzzle/Http/Message/PostFile.php#L90
function getCurlValue($filename, $contentType, $postname) {
// PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax
// See: https://wiki.php.net/rfc/curl-file-upload
if (function_exists('curl_file_create')) {
return curl_file_create($filename, $contentType, $postname);
}
// Use the old style if using an older version of PHP
$value = "@{$filename};filename=" . $postname;
if ($contentType) {
$value .= ';type=' . $contentType;
}
return $value; } $filename = '/path/to/file.jpg'; $cfile = getCurlValue($filename,'image/jpeg','cattle-01.jpg'); //NOTE: The top level key in the array is important, as some apis will insist that it is 'file'. $data = array('file' => $cfile); $ch = curl_init(); $options = array(CURLOPT_URL => 'http://your/server/api/upload',
CURLOPT_RETURNTRANSFER => true,
CURLINFO_HEADER_OUT => true, //Request header
CURLOPT_HEADER => true, //Return header
CURLOPT_SSL_VERIFYPEER => false, //Don't veryify server certificate
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $data
);