檢查代碼好多次,實在看不懂哪裡有問題,無奈之下來求助大家 TwT
我想要的只是一個類似這樣的側邊欄,因為我希望能自己替換自己畫的圖作為側邊欄~~
如果有其他的方法,我也很樂意嘗試~~
在這裡可以看到這個側邊欄的樣子:
http://cat-fish.net/badge/test.html
Flash源文件:
http://cat-fish.net/badge/f5_badge_catfish.fla
然後以下是(我認為的)Flash內和API相關的AS代碼:(AS2.0)
result_lv = new LoadVars();
result_lv.onData = function (src)
{
if (src)
{
status_array = JSON.parse(src);
userName = status_array[0].user.name;
copy_mc.enabled = true;
copy_mc._alpha = 100;
makeHtmlLink();
makeEmbed();
updateView();
} // end if
};
send_lv = new XML();
send_lv.addRequestHeader("accept", "application/json");
send_lv.sendAndLoad("http://api.follow5.com/api/statuses/
user_timeline.json?api_key=[隱藏之]&id=" + user_id,result_lv);
完整的代碼在Flash源文件內。
PS:
回報一個錯字,在follow5的API文檔內,2.2.3 显示用户分享(用户分享所有人)這一節,
示例: http://api.follow5.com/api/statuses/user_timeline?id=100025&api_key=123
這裡少了個.xml XDDD
文件在此可以下載到:
http://cat-fish.net/badge/JSON.as
On 11月23日, 下午7时43分, 貓魚 <ulenar...@gmail.com> wrote:
> 我本身是個畫圖人,看不懂FLASH的AS代碼,曾用別人寫的飯否Flash側邊欄(模仿twitter的那種)做過一個,能正確讀取,
> 現在用完全一樣的文件,將API地址改為follow5的,在本地測試成功,
> 但放上網之後無論如何都讀取不到......
对于您提供的例子,我先转给开发人员,看看能否协助您解决。
wangxu
2009-11-24
2009/11/23 貓魚 <ulen...@gmail.com>:
> 我本身是個畫圖人,看不懂FLASH的AS代碼,曾用別人寫的飯否Flash側邊欄(模仿twitter的那種)做過一個,能正確讀取,
> 現在用完全一樣的文件,將API地址改為follow5的,在本地測試成功,
> 但放上網之後無論如何都讀取不到......
经过调查,我们初步判断结果如下:
— 结论:无数据返回是因为提交请求的URL存在问题,URL中的user_id没有内容
— 分析过程:
以下是从fla文件中拷贝出来的代码。
......
testing = false;
upArrow_mc.enabled = false;
downArrow_mc.enabled = false;
squareTransition = new ODEO.Transitions.Blur(this, 8, 26);
squareTransition.swapClip("status_mc", statusObj);
my_so = SharedObject.getLocal("OdeoPodcastPlayerColors");
if (testing)
{
color1 = 666666;
type = "user";
id = "209614";
} // end if
if (type == "user")
{
user_id = id;
} // end if
......
testing被设为false,因此user_id没有赋值,就是undefined。
提交的请求:send_lv.sendAndLoad("http://api.follow5.com/api/statuses/
user_timeline.json?id=" + user_id +
"&api_key=**************",result_lv);
这里URL中的user_id会填写成undefined,所以服务器这里拒绝了这个请求。
把testing那里设为true之后,访问是成功的。
至于JSON那个类,是收到应答包之后处理应答包用的,和提交的这个请求是没有关系的。
另外,你的fla文件中透漏了一些私人信息,建议您从google group中删除掉!
我想原因不應出在user_id沒有被讀取到,理由有2:
1,flash左下角的問號,點此問號可以正確訪問到用戶頁面。而這部分的代碼是這樣的:
help_mc.onRelease = function ()
{
getURL("http://follow5.com/" + user_id, "_blank");
};
可以看到,這裡也有user_id存在,而點問號可以正確訪問用戶頁面,因此我想user_id應該有被正確讀到才對。
2,testing那裡只是用來測試的,實際使用時(就是test.html那個頁面)會寫入如下代碼:
<embed src="f5_badge_catfish.swf"
flashvars="color1=0x00b2b2b2&type=user&id=209614" quality="high"
width="120" height="200" name="fanfou_badge" align="middle"
allowScriptAccess="always" wmode="transparent" type="application/x-
shockwave-flash" pluginspage="http://www.macromedia.com/go/
getflashplayer">
user_id不是被寫在flash本體內,而是用flashvars傳達給本體的:
flashvars="color1=0x00b2b2b2&type=user&id=209614"
color1是顏色,id就是user_id
因此我想user_id可能不是問題所在,
但我實在想不通問題到底出在哪@@
及,我現在將send_lv.sendAndLoad的地址修改為:
send_lv.sendAndLoad("http://api.follow5.com/api/statuses/
public_timeline.json?api_key=*****",result_lv);
即使是這樣依然無法讀到:
http://cat-fish.net/badge/test.html
On 11月24日, 上午10时25分, wangxu <chinawangxu1...@gmail.com> wrote:
> 修正:>建议您从google group中删除掉!
>
> 建议您从网站上删除掉!
技术人员功过抓包发现如下现象。
您的Flash的确提交到api.follow5.com上去了,不过请求的URI是/crossdomain.xml
这应该是Flash中的某些参数写的不正确,您再核实一下。有问题请联系我。
我将抓取的包发送到您的邮件中去,请查收参考。
Follow5
2009-11-23
> > 建议您从网站上删除掉!- 隐藏被引用文字 -
>
> - 显示引用的文字 -